在我的一个网络请求中,我得到Response Body data
如下

{
"JobId":1528,
"CaseId":61687,
"CaseName":"CaseName_3923",
"FirmId":4175,
"FirmName":"FirmName7922442",
"CaseFirmName":"CaseFirmName7922442",
"LastUpdatedDate":"0001-01-01T00:00:00Z"
}
我需要在下一个Web请求中使用整个响应,为此,我想删除开头的
字符。
在Jmeter
中有什么方法或设置可以用来删除这些字符?实际上,我使用以下设置尝试了Json Extractor
,但是这种方法不起作用,因此我认为最初的字符正在造成一个问题,即未将作业ID的值分配给变量vJobid
< / p>
JSON提取器:
适用于:仅主要样品
Cretaed变量的名称:vJobId
Json PathExtractor:$.JobID
第一场比赛
答案 0 :(得分:2)
JSON结构开头的奇怪字符是错误编码的BOM(字节顺序标记)。看来您得到的UTF-8值显示为ISO-8859-1编码的字符串。
因此,要做的第一件事就是找到错误的编码位置并进行纠正。如果不是这样,您可以尝试使用以下Groovy代码在JSON提取器之前使用JSR223PostProcessor
将数据自己编码回UTF-8:
vars.put("correctedResult",
new String(prev.responseDataAsString.bytes("ISO-8859-1"), "UTF-8"));
此后处理器将尝试将错误编码的字符串转换回UTF-8,并将结果存储在JMeter变量correctedResult
中。在JSON提取器中选择值为JMeter Variable Name to use
的{{1}},以使用新编码的值代替原始数据。
但是很明显,找到错误编码的原因是更好的方法。
答案 1 :(得分:1)