JMeter JSON路径提取值没有数组括号[]

时间:2016-09-13 18:23:17

标签: arrays json jmeter

我需要数组中的值,而不是数组括号[]。以下是我正在尝试使用的JSON响应:

{
:   "@rpc":"1.0",
:   "@types":
:   [
:   :   "com.model.chart.PieChart",
:   :   "com.model.chart.PieChartData"
:   ],
:   "@data":
:   {
:   :   "@type":0,
:   :   "chartData":
:   :   [
:   :   :   {
:   :   :   :   "@type":1,
:   :   :   :   "data":0.0,
:   :   :   :   "name":"Yes"
:   :   :   },
:   :   :   {
:   :   :   :   "@type":1,
:   :   :   :   "data":13.0,
:   :   :   :   "name":"No"
:   :   :   }
:   :   ],
:   :   "subTitle":"Over Time Period",
:   :   "dataName":"MyData",
:   :   "title":"MyData Requirement"
:   }
}

我正在尝试获取yes和no的数据。所以不,我只想得到13.0,但我继续得到[13.0]数组括号。以下是我尝试过的JSONPath表达式的值:

$.@data.chartData..[?(@.name=='No')].data返回[13.0]

$.@data.chartData..[?(@.name=='No')].data[0]不返回任何内容

$.@data.chartData..[?(@.name=='No')][0].data不返回任何内容

$.@data.chartData[0]..[?(@.name=='No')].data不返回任何内容

我在jmeter v 3.0中使用的是JSON插件的2.3版本。非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

  • 选项1:在您使用data作为参考名称并接收[13.0]的情况下查看Debug Sampler,您可以获得13无括号{{1} }}

    JMeter JSON Path Extractor

    • 选项2:从JMeter 3.0开始,JSON Path PostProcessor的行为略有不同,并返回没有方括号的数据:

    JSON Path Postprocessor

答案 1 :(得分:1)

我遇到了同样的问题并且使用了JMeter(版本3.2),我没有得到square []括号。但是,请确保使用" JSON Extractor"而不是" jp @ gc - JSON路径提取器。"