2016-09-13 39 views
0

我需要数组中的值,而不是数组括号[]。这里是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" 
: } 
} 

我试图得到公正的是数据并没有。所以对于否,我只想得到13.0,但是我继续使用数组括号得到[13.0]。这里有JSONPath表达式的值,我曾尝试:

[email protected][?(@.name=='No')].data回报13.0

[email protected][?(@.name=='No')].data[0]返回任何

[email protected][?(@.name=='No')][0].data返回任何

[email protected][0]..[?(@.name=='No')].data返回任何

我使用2.3版本Jmeter插件中的Jmeter v 3.0。任何帮助是极大的赞赏。

回答

1
  • 选项1:展望Debug Sampler给你使用data作为参考的名字和接收[13.0]你可以得到13不带括号的${data_1}

    JMeter JSON Path Extractor

    • 选项2:因为JMeter的3.0你有JSON Path PostProcessor其行为有点不同,并返回没有方括号的数据:

    JSON Path Postprocessor

+0

谢谢德米特里!选项2像魅力一样工作。 – joCha

1

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