Jmeter Json提取器:JSONPath表达式在计算器上工作,但不在Jmeter内部工作?
我面临从json中提取元素的jsonpath问题 以下是json的一个示例:Jmeter Json提取器:JSONPath表达式在计算器上工作,但不在Jmeter内部工作?,json,jmeter,extractor,Json,Jmeter,Extractor,我面临从json中提取元素的jsonpath问题 以下是json的一个示例: [ { "idA":"104", "idB":"2941", "idC":"13316", "idE":"13361", "idF":"12758",
[
{
"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":[
]
}
]
以下是jsonpath:
$[?(@.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]
你知道这里有什么问题吗?
提前感谢您提供的任何帮助、线索或想法
关于本例中的信息,我使用ApacheJMeter(5.3)如何使用它来执行任意查询
您应该能够获得您要查找的对象,其简单程度如下:
$..[?(@.idH[0])]
演示:
更多信息:如何使用允许执行任意查询的
您应该能够获得您要查找的对象,其简单程度如下:
$..[?(@.idH[0])]
演示:
更多信息:非常感谢您的回答。事实上,我已经在Jmeter上使用了Json提取器,但都是关于Jsonpath表达式的。因为我试图在搜索部分添加:@.idH[0]=null以获取第一个idH数组元素不为null的每个元素。我猜在Jsonpath表达式中,你不能直接表达否定,对吗?非常感谢你的回答。事实上,我已经在Jmeter上使用了Json提取器,但都是关于Jsonpath表达式的。因为我试图在搜索部分添加:@.idH[0]=null以获取第一个idH数组元素不为null的每个元素。我猜在Jsonpath表达式中,您不能直接表示否定,对吗?