【发布时间】:2020-10-09 00:26:05
【问题描述】:
我遇到了从 json 中提取元素的 jsonpath 问题。
这是一个json的例子:
[
{
"idA":"104",
"idB":"2941",
"idC":"13316",
"idE":"13361",
"idF":"12758",
"idG":"12865",
"idH":[
]
},
{
"idA":"104",
"idB":"2941",
"idC":"13317",
"idE":"13362",
"idF":"12759",
"idG":"12866",
"idH":[
"10391"
]
},
{
"idA":"104",
"idB":"2941",
"idC":"13318",
"idE":"13363",
"idF":"12760",
"idG":"12867",
"idH":[
]
}
]
这是json路径:
$[?(@.idH[0]!=null)]
目标是获取idH不为null的元素。 它适用于少数 json 在线评估者,我可以从他们那里得到我所期望的:
[
{
"idA": "104",
"idB": "2941",
"idC": "13317",
"idE": "13362",
"idF": "12759",
"idG": "12866",
"idH": [
"10391"
]
}
]
但它在其他少数在线评估器上也失败了,例如返回“JSONPath 发生错误”。
不幸的是,它不适用于 Jmeter 中的 Json 提取器,因为我得到了 json 的第一个元素,就像 jsonpath 本来是 $[0]
知道这里有什么问题吗? 提前感谢您提供任何帮助、线索或想法。
为了以防万一,我使用 Apache JMeter (5.3)
【问题讨论】: