JSON路径语法是否提供了将过滤器应用于通配符(*)运算符选择的所有对象的方法?
例如,在以下数据中," byId"和"列表"包含仅以不同方式建模的相同数据。
{
"list": [
{"id": "a", "x": 1, "y": 2},
{"id": "b", "x": 1, "y": 3},
{"id": "c", "x": 0, "y": 4}
],
"byId": {
"a": {
"x": 1,
"y": 2
},
"b": {
"x": 1,
"y": 3
},
"c": {
"x": 0,
"y": 4
}
}
}
我们可以获得" list"中的所有要点其中x大于0,查询
$.list[?(@.x > 0)]
在" byId"部分,我们可以通过查询获得所有点的列表
$.byId.*
然而,是否有办法获得" byId" x使用jsonpath查询语法大于0的部分?
答案 0 :(得分:0)
转出它非常简单,而不是大多数地方展示的例子。对于上述问题,答案就是
$.byId[?(@.x>0)]
显然不需要外卡。