使用给定的字符串值过滤 JSONPath
Filtering JSONPath with given string value
如果我有一个像这样的JSON:
{
"data": [
{
"service" : { "id" : 1 }
},
{
"service" : { "id" : 2 }
},
{
"service" : {}
}
]
}
此查询有效:
$..service[?(@.id==2)]
并给出预期结果:
[
{
"id" : 2
}
]
但是,如果我有字符串作为 id:
{
"data": [
{
"service" : { "id" : "a" }
},
{
"service" : { "id" : "b" }
},
{
"service" : {}
}
]
}
运行 类似查询:
$..service[?(@.id == "a")]
没有给出结果(空数组)。
我正在使用 this evaluator.
我正在查看文档 here 但找不到任何东西可以指出我正确的方向......如果有人知道如何编写这样的查询,有什么帮助吗?谢谢:)
没有 " 作品
$..service[?(@.id == b)]
给出这个结果
[
{
"id" : "b"
}
]
如果我有一个像这样的JSON:
{
"data": [
{
"service" : { "id" : 1 }
},
{
"service" : { "id" : 2 }
},
{
"service" : {}
}
]
}
此查询有效:
$..service[?(@.id==2)]
并给出预期结果:
[
{
"id" : 2
}
]
但是,如果我有字符串作为 id:
{
"data": [
{
"service" : { "id" : "a" }
},
{
"service" : { "id" : "b" }
},
{
"service" : {}
}
]
}
运行 类似查询:
$..service[?(@.id == "a")]
没有给出结果(空数组)。
我正在使用 this evaluator.
我正在查看文档 here 但找不到任何东西可以指出我正确的方向......如果有人知道如何编写这样的查询,有什么帮助吗?谢谢:)
没有 " 作品
$..service[?(@.id == b)]
给出这个结果
[
{
"id" : "b"
}
]