2
我运行的JMeter的请求,响应看起来是这样的:过程jsonpath后处理结果
{
"Items":[
{
"Available":3,
"Info":[
{
"Sample1":1,
"Sample2":33,
"Sample3":50,
"Sample4":"asd",
"Sample5":88,
"Sample6":null,
"Sample7":null,
"Sample8":null,
"Sample9":35,
"Sample0":35
}
]
}
]
}
我的目标是要经过项目的列表(我的样本中只有一个,但可以有更多),如果'可用'大于0,则将'Info'中的一些值保存到变量中,以便将它们用于下一个请求。
我现在的解决方案是,我加了JSON路径后处理器在那里我分隔值是这样的:
$.Items[?(@.Available > 0)].Info[0].Sample1[0];
$.Items[?(@.Available > 0)].Info[0].Sample2[0];
$.Items[?(@.Available > 0)].Info[0].Sample3[0]...
,但显然这不是一个非常漂亮的解决方案,我也认为这将花费太多资源,如果我必须做很多次。
所以我的问题是它在某种程度上可以将
$.Items[?(@.Available > 0)].Info[0]
元素分开,然后再处理它得到我需要的领域?
是否想使用单个JSON PATH提取器读取所有“Sample *”值? –
@Naveen不,只是其中的一部分。 – user7177532
@Naveen对不起,我没有注意到你的问题中的'single'这个词,对于我来说,使用多少个JSON路径表达式来获取值并不重要,我只是不想调用'is available大于0'检查每个表达式,如果可能的话。 – user7177532