JSON(简体)如下所示:
[
{"name" : "foobar",
"id" : 123
},
{"name" : "bar",
"id" : 123
},
{"name" : "foobar",
"id" : 456
}, ...
]
正在使用https://jsonpath.herokuapp.com/尝试找到正确的JSONPATH语法,以过滤掉所有不以foo开头且id == 123的内容。
得到它来过滤那些开始与那些foo很简单:
$..[?(@.name =~ /foo.*/i)]
这将产生以下结果:
[
{
"name" : "foobar",
"id" : 123
},
{
"name" : "foobar",
"id" : 456
}
]
可以通过添加其他过滤器来摆脱ID 456,如下所示:
$..[?(@.name =~ /foo.*/i && @.id==123)]
但是,与以foo开头的名称相反,该如何做呢? 希望所有不以foo开头的实体。
尝试过这样的事情:
$..[?(!@.name =~ /foo.*/i && @.id==123)]
至少将其解析为有效的JSONPATH,并且应该使过滤器无效,但是出于某种原因,它仍然很乐意仅报告foobar条目:
[
{
"name" : "foobar",
"id" : 123
}
]
动力节点在线课程涵盖零基础入门,高级进阶,在职提升三大主力内容,覆盖Java从入门到就业提升的全体系学习内容。全部Java视频教程免费观看,相关学习资料免费下载!对于火爆技术,每周一定时更新!如果想了解更多相关技术,可以到动力节点在线免费观看JSONPath视频教程哦!
代码小兵64503-29 11:46
代码小兵87208-06 11:36
代码小兵34507-29 13:19