使用 JMeter 从 JSON 响应中提取某些数据
Extracting certain data from JSON response using JMeter
我正在尝试从 SmallerList 中提取所有 "cash" 值(放入列表或数组中)并将它们相互比较,然后在新请求中使用最高值。
我一直在尝试在 BeanShell PostProcessor 中编写脚本但失败了。
有什么建议吗?谢谢
{
"SomeList": {
"SmallerList": [{
"name": "aaa",
"sample": "Hrazerggsl2",
"NO": "156576321467",
"data": "917",
"xyzxyz": "TAKEOUT",
"dadada": "64,04 USD",
"cash": "64,04 USD",
"asdasde": "0,00 USD",
"asdasdw": "833248",
"asdasdd": 0,
"dsdfi": true,
"ewqwe": false,
"ewqewq": false,
"irqfsais": true,
"gggggg": false,
"asdasda": false,
"gffffv": false
}, {
"name": "aaa",
"sample": "Hrazerggsl2",
"NO": "156576321467",
"data": "917",
"xyzxyz": "TAKEOUT",
"dadada": "94,04 USD",
"cash": "154,04 USD",
"asdasde": "0,00 USD",
"asdasdw": "833248",
"asdasdd": 0,
"dsdfi": true,
"ewqwe": false,
"ewqewq": false,
"irqfsais": true,
"gggggg": false,
"asdasda": false,
"gffffv": false
}, {
"name": "aaa",
"sample": "Hrazerggsl2",
"NO": "156576321467",
"data": "917",
"xyzxyz": "TAKEOUT",
"dadada": "64,04 USD",
"cash": "624,04 USD",
"asdasde": "0,00 USD",
"asdasdw": "833248",
"asdasdd": 0,
"dsdfi": true,
"ewqwe": false,
"ewqewq": false,
"irqfsais": true,
"gggggg": false,
"asdasda": false,
"gffffv": false
}],
"drqwname": "aadasdaa",
"sample": "Hdasdrazerggsl2",
"NO": "156576321467",
"data": "917",
"xyzxyz": "TAKEOUT",
"dadada": "64,04 USD",
"cash": "64,04 USD",
"asdasde": "0,00 USD",
"asdasdw": "833248",
"asdasdd": 0,
"dsdfi": true,
"ewqwe": false,
"ewqewq": false,
"irqfsais": true,
"gggggg": false,
"asdasda": false,
"gffffv": false
},
"list": {
"payment": [{
"name": "asdasdasdasd"
}, {
"name": "asdasrqweqwe"
}, {
"name": "asgfdsf"
}, {
"name": "asdfasdfa"
}],
"name": "dad"
},
"success": true
}
使用JSON Path Extractor。非常好用。
检查 this 以获取要使用的路径表达式。 (向下滚动到部分 - XPath 和 JSONPath 之间的区别)
在您的情况下,$..cash
将 return 所有 cash
,如下所示。
allcash
是我使用的变量。
allcash=["64,04 USD","64,04 USD","154,04 USD","624,04 USD"]
allcash_1=64,04 USD
allcash_2=64,04 USD
allcash_3=154,04 USD
allcash_4=624,04 USD
我正在尝试从 SmallerList 中提取所有 "cash" 值(放入列表或数组中)并将它们相互比较,然后在新请求中使用最高值。
我一直在尝试在 BeanShell PostProcessor 中编写脚本但失败了。 有什么建议吗?谢谢
{
"SomeList": {
"SmallerList": [{
"name": "aaa",
"sample": "Hrazerggsl2",
"NO": "156576321467",
"data": "917",
"xyzxyz": "TAKEOUT",
"dadada": "64,04 USD",
"cash": "64,04 USD",
"asdasde": "0,00 USD",
"asdasdw": "833248",
"asdasdd": 0,
"dsdfi": true,
"ewqwe": false,
"ewqewq": false,
"irqfsais": true,
"gggggg": false,
"asdasda": false,
"gffffv": false
}, {
"name": "aaa",
"sample": "Hrazerggsl2",
"NO": "156576321467",
"data": "917",
"xyzxyz": "TAKEOUT",
"dadada": "94,04 USD",
"cash": "154,04 USD",
"asdasde": "0,00 USD",
"asdasdw": "833248",
"asdasdd": 0,
"dsdfi": true,
"ewqwe": false,
"ewqewq": false,
"irqfsais": true,
"gggggg": false,
"asdasda": false,
"gffffv": false
}, {
"name": "aaa",
"sample": "Hrazerggsl2",
"NO": "156576321467",
"data": "917",
"xyzxyz": "TAKEOUT",
"dadada": "64,04 USD",
"cash": "624,04 USD",
"asdasde": "0,00 USD",
"asdasdw": "833248",
"asdasdd": 0,
"dsdfi": true,
"ewqwe": false,
"ewqewq": false,
"irqfsais": true,
"gggggg": false,
"asdasda": false,
"gffffv": false
}],
"drqwname": "aadasdaa",
"sample": "Hdasdrazerggsl2",
"NO": "156576321467",
"data": "917",
"xyzxyz": "TAKEOUT",
"dadada": "64,04 USD",
"cash": "64,04 USD",
"asdasde": "0,00 USD",
"asdasdw": "833248",
"asdasdd": 0,
"dsdfi": true,
"ewqwe": false,
"ewqewq": false,
"irqfsais": true,
"gggggg": false,
"asdasda": false,
"gffffv": false
},
"list": {
"payment": [{
"name": "asdasdasdasd"
}, {
"name": "asdasrqweqwe"
}, {
"name": "asgfdsf"
}, {
"name": "asdfasdfa"
}],
"name": "dad"
},
"success": true
}
使用JSON Path Extractor。非常好用。
检查 this 以获取要使用的路径表达式。 (向下滚动到部分 - XPath 和 JSONPath 之间的区别)
在您的情况下,$..cash
将 return 所有 cash
,如下所示。
allcash
是我使用的变量。
allcash=["64,04 USD","64,04 USD","154,04 USD","624,04 USD"]
allcash_1=64,04 USD
allcash_2=64,04 USD
allcash_3=154,04 USD
allcash_4=624,04 USD