当前位置: 首页 > news >正文

基于python可伸缩JSON格式列表实现

对于消息体为一个json格式列表,列表长度变化的代码设计,如下实现可供参考。

1、python语言实现(直接取值)

#coding=utf-8n = 2  # 行项目数
productCode = ['11111','222222','333333']
unit = ['H06','H07','H08']
qty = [6,7,8]
items = []for i in range(0, n):item = {"itemType": "${SOZKitemType}","promotionFlg": None,"deliveryTime": "${currentTime}","excessRatio": 0,"storageLocation": "${ZKstorageLocation}","itemNo": (i+1)*10,"merchantProductCode": productCode[i],"customerSupplierCode": None,"avaiableQtyUnit": unit[i],"referenceItemNo": (i+1)*10,"orderQty": qty[i],"canExcess": "0","orderUnit": unit[i],"avaiableQty": qty[i],"orderNo": "20${orderNo}","stockType": "${stockType}","batch": "","logisticsType": "ZK","subProducts": None}items.append(item)
print(items)

2、python语言在Jmeter中实现(直接取值)

import json
n = 2  # 行项目数
items = []for i in range(0, n):item = {"itemType": "${SOZKitemType}","promotionFlg": None,"deliveryTime": "${currentTime}","excessRatio": 0,"storageLocation": "${ZKstorageLocation}","itemNo": (i+1)*10,"merchantProductCode": str(vars.get('merchantProductCode'+str(i+1))),"customerSupplierCode": None,"avaiableQtyUnit": str(vars.get('SUF'+str(i+1))),"referenceItemNo": (i+1)*10,"orderQty": str(vars.get('SOZKorderQty'+str(i+1))),"canExcess": "0","orderUnit": str(vars.get('SUF'+str(i+1))),"avaiableQty": str(vars.get('SOZKorderQty'+str(i+1))),"orderNo": "20${orderNo}","stockType": "${stockType}","batch": "","logisticsType": "ZK","subProducts": None}items.append(item)
data = json.dumps(items,indent=4)
vars.put('newItems',data)

3、python语言在Jmeter中实现(不直接取值、纯JSON消息体制作),这种方式的好处是先将消息体都开发完整了,不用执行Jmeter脚本时候去拼接消息体,执行更快。

import jsonn=2000 #行项目数
totalItem=[]
allParas = {"orderType": "${SOZKorderType}","CreatedTime": "${currentTime}","deliveryTime": "","city": "","customerCode": "${customerCode}","vendorId": "","reference2": "20${orderNo}","distributionModeCode": "${distributionModeCode}","cpoOrderNo": "","telPhone": "","province": "","epCode": "${epCode}","shippingConditionCode": "${shippingConditionCode}","traceId": "${__UUID}","creator": "${creator}","merchantCode": "${outMerchantCode}","address": "","orderNo": "20${orderNo}","countryNo": "","updateIndicator": "","customerDesc": "","route": "111","whCode": "${whCode}","district": "","deliveryPriorityCode": "${deliveryPriorityCode}","contacts": "","items": ""}for i in range(0,n):item = {"itemType": "${SOZKitemType}","promotionFlg": "","deliveryTime": "${currentTime}","excessRatio": 0,"storageLocation": "${ZKstorageLocation}","itemNo": str((i + 1) * 10),"merchantProductCode": '${' + 'merchantProductCode' + str(i + 1) + '}',"customerSupplierCode": "","avaiableQtyUnit": '${' + 'SUF' + str(i + 1) + '}',"referenceItemNo": str((i + 1) * 10),"orderQty": '${' + 'SOZKorderQty' + str(i + 1) + '}',"canExcess": "0","orderUnit": '${' + 'SUF' + str(i + 1) + '}',"avaiableQty": '${' + 'SOZKorderQty' + str(i + 1) + '}',"orderNo": "20${orderNo}","stockType": "${stockType}","batch": "","logisticsType": "ZK","subProducts": ""}item['promotionFlg'] = None #当我们从外部数据源获取数据时,经常会遇到一些空值或者null,在Python中,null或者空可以用 None 表示。item['customerSupplierCode'] = Noneitem['subProducts'] = NonetotalItem.append(item)
allParas['items'] = totalItem
allParas['deliveryTime'] = None
allParas['city'] = None
allParas['vendorId'] = None
allParas['city'] = None
allParas['cpoOrderNo'] = None
allParas['telPhone'] = None
allParas['province'] = None
allParas['address'] = None
allParas['countryNo'] = None
allParas['updateIndicator'] = None
allParas['customerDesc'] = None
allParas['district'] = None
allParas['contacts'] = Nonewith open(r'D:\apache-jmeter-5.6.3\bin\TestData\common\requestBody.txt','w+') as file:json.dump(allParas,file,indent=4)
http://www.lryc.cn/news/369486.html

相关文章:

  • h5相机功能
  • IDEA | 安装通义灵码插件,开启智能编码旅程
  • 技术人员如何克服在使用行列视(RCV)过程中遇到的挑战?
  • 手把手教你安装 Vivado2019.2(附安装包)
  • Sql-labs的第一关
  • 10_1 Linunx Web服务管理
  • 苹果WWDC 2024:十三大亮点公布,一切都有关AI|TodayAI
  • Nginx访问日志
  • Java使用Hutool工具类轻松生成验证码
  • leetcode 40. 组合总和 II
  • AMEYA360代理品牌:ROHM开发出世界超小CMOS运算放大器,适用于智能手机和小型物联网设备等应用
  • 第1章Hello world 4/5:对比Rust/Java/C++创建和运行Hello world全过程:运行第一个程序
  • golang优雅代码【lock实现】
  • Dijkstra算法(迪杰斯特拉算法)
  • 用函数指针求a和b中的大者
  • 鸿蒙轻内核M核源码分析系列六 任务及任务调度(2)任务模块
  • 解决找不到MSVCR120.dll,无法执行代码
  • Linux iptables详解
  • Mac电脑arm64芯片Cocoapods 的 ffi 兼容问题
  • 如何提高逻辑性?(小妙招)
  • 2024050501-重学 Java 设计模式《实战命令模式》
  • 0104__Linux 中 nm 命令简介
  • Linux网络服务
  • Vue18-列表渲染
  • 【三维重建】增量SFM系统
  • PyTorch 维度变换-Tensor基本操作
  • spring 事务失效的几种场景
  • 45岁程序员独白:中年打工人出路在哪里?
  • 深度探讨:为何训练精度不高却在测试中表现优异?
  • 动态内存管理<C语言>