您的位置:首页 > 文旅 > 美景 > JMeter 中使用 Gson 操作请求中的Boby参数

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

2024/10/5 6:27:04 来源:https://blog.csdn.net/xiaobanv1/article/details/142312535  浏览:    关键词: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");

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com