2015-04-30 53 views
2

我试图从SmallerList(进入列表或数组)中提取所有“现金”值,并将它们相互比较,然后在新的请求中使用最高值。使用JMeter从JSON响应中提取某些数据

我一直在尝试在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 
} 
+0

请显示您到目前为止所尝试的内容。 JSON路径提取器可能是一个很好的方法。 http://jmeter-plugins.org/wiki/JSONPathExtractor/ – RaGe

+0

不能比较数据与路径提取器。 – tipi

回答

0

使用JSON Path Extractor。这是非常容易使用。

检查要使用的路径表达式的 this。 (向下滚动到XPath和JSONPath之间的区别)

对于您的情况,$..cash将返回所有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 
+0

我这样做后,我怎么能得到小列表的索引。例如,如果我选择allcash_4我需要发送第四个列表的索引作为回应 – tipi