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

JMeter 中使用 Gson 操作请求中的Boby参数

背景

使用org.json.JSONObject 转换,与原Body参数顺序发生变化,原因:JSONObject内部是用Hashmap来存储的,本质上是一个无序的键值对集合,不应依赖字段的添加顺序。

为解决org.json.JSONObject 输出顺序问题,采用Gson进行json格式的String转换为Json并进行数据操作,保证输出按照字段的添加顺序。

//bodyString 请求body
JSONObject dataobj = new JSONObject(bodyString);//输出结果
{"taskSubTitle":"方案0","taskId":"1833041310154539010"}

具体实现

1、下载 Gson 对应的 Jar 包

https://mvnrepository.com/search?q=Gson

2、jar 包配置

将下载的 Jar 放到 Jmeter 安装目录 lib/ext 文件夹下,测试计划配置 jar 包位置,重启 Jmeter

3、BeanShell 中引入 Jar

import com.google.gson.*;

4、Gson 应用

//获取请求 Body
Arguments args = sampler.getArguments();
String arg = args.getArgument(0).getValue();
//使用 Gson 将 String 转换为 JsonObject(按照顺序输入)
JsonObject jsonObject = new JsonParser().parse(arg).getAsJsonObject();
//获取 key 值
jsonObject.get("taskId");
//向 Body 中添加新的字段(如果 key 已经存在则替换 value)
jsonObject.addProperty("taskId", "ajklsdhfaksdfasdf");


http://www.mrgr.cn/news/29273.html

相关文章:

  • 【mechine learning-11-梯度下降的数学公式推导】
  • 直流斩波电路
  • Selenium with Python学习笔记整理(网课+网站)
  • 0基础跟德姆(dom)一起学AI 数据处理和统计分析03-Numpy环境搭建
  • 换脸动漫转真人:ComfyUI无实物Cosplay
  • 养殖场中的分布式光伏发电
  • iptables限制网速
  • Android AlertDialog圆角背景不生效的问题
  • 昆明网站制作流程与设计技巧
  • 【C++】日期类基础题
  • 【C++】探秘二叉搜索树
  • C++速通LeetCode中等第3题-字母异位词分组
  • # windows 运行框输入mrt提示错误:Windows 找不到文件‘mrt‘。请确定文件名是否正确后,再试一次
  • 交流电力控制电路之交流调压电路
  • docker镜像加速器,亲测可用。
  • 基于C++实现(控制台)仓库管理系统
  • AI雷达智能电子名片小程序源码系统 人人可以创建属于自己的名片 带完整的安装代码包以及的搭建部署教程
  • 智能BI项目第三期
  • 简单题28-找出字符传中第一个匹配项的下标(Java and Python)20240918
  • MemLong: 基于记忆增强检索的长文本LLM生成方法