使用给定的字符串值过滤JSONPath

时间:2015-07-20 15:16:33

标签: json jsonpath

如果我有这样的JSON:

{
  "data": [
    {
        "service" : { "id" : 1 }
    },
    {
        "service" : { "id" : 2 }
    },
    {
        "service" : {}
    }
  ]
}

此查询有效:

$..service[?(@.id==2)]

并给出预期的结果:

[
    {
        "id" : 2
    }
] 

但是,如果我有字符串作为id' s:

{
  "data": [
    {
        "service" : { "id" : "a" }
    },
    {
        "service" : { "id" : "b" }
    },
    {
        "service" : {}
    }
  ]
}

运行类似的查询:

$..service[?(@.id == "a")]

没有结果(空数组)。
我正在使用this evaluator 我正在查看文档here但找不到任何指示我正确方向的内容......如果有人知道如何编写此类查询,有什么帮助吗?谢谢:))

1 个答案:

答案 0 :(得分:1)

没有"作品

$..service[?(@.id == b)]

给出这个结果

[
   {
      "id" : "b"
   }
]