Jmeter Json提取器:JSONPath表达式在计算器上工作,但不在Jmeter内部工作?

Jmeter Json提取器:JSONPath表达式在计算器上工作,但不在Jmeter内部工作?,json,jmeter,extractor,Json,Jmeter,Extractor,我面临从json中提取元素的jsonpath问题 以下是json的一个示例: [ { "idA":"104", "idB":"2941", "idC":"13316", "idE":"13361", "idF":"12758",

我面临从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":[
         
      ]
   }
]
以下是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表达式中,您不能直接表示否定,对吗?