当前位置: 首页 > 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)

相关文章:

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

对于消息体为一个json格式列表,列表长度变化的代码设计,如下实现可供参考。 1、python语言实现(直接取值) #codingutf-8n 2 # 行项目数 productCode [11111,222222,333333] unit [H06,H07,H08] qty [6,7,8] items []for i in range(0, n):item …...

h5相机功能

h5相机功能 利用vant input file <template><div class"mb10"><divv-for"(item, index) in info.imgList":key"index"class"imgItem f32 mr20"click"preview(item, index)"><img :src"doFileUrl…...

IDEA | 安装通义灵码插件,开启智能编码旅程

安装步骤 从插件市场安装&#xff0c;点击导航-插件&#xff0c;打开应用市场&#xff0c;搜索通义灵码&#xff08;TONGYI Lingma&#xff09;&#xff0c;找到通义灵码后点击安装。 https://tongyi.aliyun.com/lingma/download 使用方式 https://help.aliyun.com/documen…...

技术人员如何克服在使用行列视(RCV)过程中遇到的挑战?

技术人员在使用行列视&#xff08;RCV&#xff09;过程中可能会遇到多种挑战&#xff0c;以下是一些建议&#xff0c;帮助他们克服这些挑战&#xff1a; 1. 深入了解系统架构和功能&#xff1a; - 熟练掌握RCV的架构设计&#xff0c;包括数据中心层、计算服务层、函数层、人机…...

手把手教你安装 Vivado2019.2(附安装包)

一、Vivado 2019.2优点 Vivado 2019.2 作为 Xilinx 公司发布的一款设计套件版本&#xff0c;具有多个显著的优点&#xff0c;以下是对其优点的详细归纳&#xff1a; 集成度高&#xff1a;开发工具丰富并行综合功能灵活的许可证策略用户友好的界面强大的仿真和验证功能丰富的文…...

Sql-labs的第一关

前言 我们在使用Sql-libs靶场进行Sql注入实验的时候&#xff0c;前提要求我们对mysql数据库结构要有一个大概的了解&#xff0c;因为mysql5.0以上的版本都会自带一个名为information_schema的数据库&#xff0c;这个数据库下面会有columns和tables两个表。 tables这个表的table…...

10_1 Linunx Web服务管理

10_1 Linunx Web服务管理 文章目录 10_1 Linunx Web服务管理[toc]1. 环境准备2. Web服务2.1 Web服务简介 2.2 Web配置2.2.1 提供的默认配置2.2.2 Web服务的主配置文件2.2.3 /etc/httpd/conf/httpd.conf 文件反映出来的”访问控制信息“2.2.4 修改监听端口&#xff0c;访问2.2.5…...

苹果WWDC 2024:十三大亮点公布,一切都有关AI|TodayAI

在刚刚结束的苹果全球开发者大会(WWDC 2024)上,苹果公司展示了一系列令人瞩目的新功能,特别是在人工智能(AI)领域的重大进展。以下是本次大会的十三大亮点。 1. 苹果推出首个AI系统 苹果宣布推出其首个AI系统——Apple Intelligence,这一系统将强大的生成模型直接集成到…...

Nginx访问日志

Nginx日志是Nginx Web服务器产生的记录文件&#xff0c;主要用于跟踪和分析服务器的访问情况以及错误信息。Nginx日志主要分为两大类&#xff1a;访问日志 (access_log): 访问日志记录了每一次客户端对Nginx服务器的HTTP请求的详细信息&#xff0c;这对于统计分析、流量监控、用…...

Java使用Hutool工具类轻松生成验证码

一、效果展示 二、Hutool工具类实现验证码生成 2.1 引入依赖 <!--hutool工具包--> <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.15</version> </dependency2.2 简单实现方…...

leetcode 40. 组合总和 II

题目 给定一个候选人编号的集合 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意&#xff1a;解集不能包含重复的组合。 原题链接&#xff1a;https://leetc…...

AMEYA360代理品牌:ROHM开发出世界超小CMOS运算放大器,适用于智能手机和小型物联网设备等应用

全球知名半导体制造商ROHM(总部位于日本京都市)开发出一款超小型封装的CMOS运算放大器“TLR377GYZ”&#xff0c;该产品非常适合在智能手机和小型物联网设备等应用中放大温度、压力、流量等的传感器检测信号。 智能手机和物联网终端越来越小型化&#xff0c;这就要求搭载的元器…...

第1章Hello world 4/5:对比Rust/Java/C++创建和运行Hello world全过程:运行第一个程序

讲动人的故事,写懂人的代码 1.7 对比Rust/Java/C++创建和运行Hello world全过程 有了会听懂人类的讲话,还能做记录的编程助理艾极思,他们三人的讨论内容,都可以变成一份详细的会议纪要啦。 接下来,我们一起看看艾极思是如何记录下赵可菲创建和运行Java程序Hello world,…...

golang优雅代码【lock实现】

golang优雅代码【lock实现】 1.局部锁1.1 具体实现方式 本文代码风格来源参考 database/sql 包 更加深刻理解go语言圣经中函数是一等公民 1.局部锁 database/sql源码中使用 withLock(dc, func(){...}) 方法实现局部锁&#xff0c;完美利用了 golang 的 defer 关键字对 入参dc…...

Dijkstra算法(迪杰斯特拉算法)

迪杰斯特拉算法通常用在图的最短路径问题上 而迷宫的最短路径可以用BFS来做&#xff0c;虽然BFS不能用于带权值的迷宫&#xff0c;但是可以对BFS稍微改进&#xff0c;只需要把判断是否走过的数组改为最短路径的数组&#xff0c;在判断是否可走时判断是否比最短的小即可 Dijks…...

用函数指针求a和b中的大者

指针变量也可以指向一个函数。一个函数在编译时被分配给一个入口地址。这个函数入口地址就称为函数的指针。可以用一个指针变量指向函数&#xff0c;然后通过该指针变量调用此函数。 先按一般方法编写程序&#xff1a; 可以用一个指针变量指向max函数&#xff0c;然后通过该指…...

鸿蒙轻内核M核源码分析系列六 任务及任务调度(2)任务模块

任务是操作系统一个重要的概念&#xff0c;是竞争系统资源的最小运行单元。任务可以使用或等待CPU、使用内存空间等系统资源&#xff0c;并独立于其它任务运行。鸿蒙轻内核的任务模块可以给用户提供多个任务&#xff0c;实现任务间的切换&#xff0c;帮助用户管理业务程序流程。…...

解决找不到MSVCR120.dll,无法执行代码

msvcr120.dll是Microsoft Visual C 2013 Redistributable Package的一部分&#xff0c;它提供了运行使用Microsoft Visual C 2013编译器编译的程序所需的运行时环境。这个DLL文件包含了在运行使用Visual C编译器&#xff08;特别是2013版&#xff09;编译的应用程序时所必需的一…...

Linux iptables详解

前言&#xff1a;事情是这样的。最近部门在进行故障演练&#xff0c;攻方同学利用iptables制造了一个故障。演练最终肯定是取得了理想的效果&#xff0c;即业务同学在规定时间内定位了问题并恢复了业务(ps&#xff1a;你懂得)。 对我个人来讲一直知道iptables的存在&#xff0…...

Mac电脑arm64芯片Cocoapods 的 ffi 兼容问题

转载请标明出处&#xff1a;https://blog.csdn.net/donkor_/article/details/139505395 文章目录 前言问题分析解决方案总结 前言 今天在改Flutter项目的时候&#xff0c;构建IOS项目时&#xff0c;Cocoapods报错 Error: To set up CocoaPods for ARM macOS, run: arch -x86_6…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时&#xff0c;显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

LRU 缓存机制详解与实现(Java版) + 力扣解决

&#x1f4cc; LRU 缓存机制详解与实现&#xff08;Java版&#xff09; 一、&#x1f4d6; 问题背景 在日常开发中&#xff0c;我们经常会使用 缓存&#xff08;Cache&#xff09; 来提升性能。但由于内存有限&#xff0c;缓存不可能无限增长&#xff0c;于是需要策略决定&am…...

[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG

TrustRAG: Enhancing Robustness and Trustworthiness in RAG [2501.00879] TrustRAG: Enhancing Robustness and Trustworthiness in Retrieval-Augmented Generation 代码&#xff1a;HuichiZhou/TrustRAG: Code for "TrustRAG: Enhancing Robustness and Trustworthin…...

【Linux】Linux安装并配置RabbitMQ

目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的&#xff0c;需要先安…...

Vue3中的computer和watch

computed的写法 在页面中 <div>{{ calcNumber }}</div>script中 写法1 常用 import { computed, ref } from vue; let price ref(100);const priceAdd () > { //函数方法 price 1price.value ; }//计算属性 let calcNumber computed(() > {return ${p…...