Dro*_*ona 7 json filter input-filtering jsonpath
鉴于以下Json输入:
{
"category": "fiction",
"author": "Evelyn Waugh",
"title": "Sword of Honour",
"price": 12.99
}
Run Code Online (Sandbox Code Playgroud)
如果作者匹配例如给定名称,我需要选择作者字段.Evelyn Waugh.我正在努力为此编写JsonPath表达式.我尝试了以下但没有成功.谁能建议正确的表达方式?
$.author?(@ == 'Evelyn Waugh')
$.?(@.author == 'Evelyn Waugh')
$..?(@.author == 'Evelyn Waugh')
Run Code Online (Sandbox Code Playgroud)
我想你可以这样做:
$[?($.author === @ && @ == 'Evelyn Waugh')]
Run Code Online (Sandbox Code Playgroud)
但如果你问我的话,这是一个非常无用的查询,而且很容易出错。如果还有另一个带有作者名字的财产,那就完蛋了。
坦率地说,您应该找到作者并测试它是否是您期望的名字。不要试图强迫它工作,它不应该这样使用。