繁体   English   中英

如何用参数将jmeter请求中的json值从“ null”替换为null?

[英]how to replace json values from “null” to null in jmeter request with parameters?

我正在使用以下jmeter脚本,我正在从旧数据库中读取并将其传递给以下脚本

Http请求正文数据中的jmeter脚本

  "ID": ${ID}
  "ProductName": "${ProductName}"
  "Name" : "${Name}"
  "NoOfdays": ${Numberofdays}

像这样最多300个参数

请求记录1

“ ID”:1“ ProductName”:“像素”“ Name”:“ abcd”“ NoOfdays”:10 ...最多300个参数

记录#2

“ ID”:1“ ProductName”:“ null”“ Name”:“ null”“ NoOfdays”:0 ...最多300个参数

当我发送“ null”时,我的ESB服务器抛出一个错误,它期望不带引号的null,与使用逐个参数明智地相比,我如何批量替换此值,这非常耗时。

从正文中的值中删除引号:

  "ProductName": ${ProductName}
  "Name" : ${Name}

将JSR223预处理器添加到请求中,如果value不为null,则添加引号

if (vars.get("ProductName") != null) {
        vars.put("ProductName", "\"" + vars.get("ProductName")  + "\"")
}
if (vars.get("Name") != null) {
        vars.put("Name", "\"" + vars.get("Name")  + "\"")
}

如果值为“ null”,则可以按以下方式处理:

if (!"null".equals(vars.get("ProductName") )) {
        vars.put("ProductName", "\"" + vars.get("ProductName")  + "\"")
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM