如何使用JMESPath根据嵌套属性从根数组获取指定元素?
JMESPath 查询解决方案
要从你的JSON数组中获取definition.id为2216的完整对象,使用以下JMESPath查询语句即可:
[?definition.id == 2216][0]
语句说明:
[? ... ]是JMESPath的过滤语法,用来筛选数组中满足指定条件的元素definition.id == 2216是具体的筛选条件,精准匹配definition子对象里id值为2216的元素- 末尾的
[0]是为了从筛选得到的数组结果中取出第一个(也是唯一的)匹配对象,直接返回单个对象而非数组
如果希望结果保留数组格式(即使只有一个匹配项),可以去掉末尾的[0],使用:
[?definition.id == 2216]
验证示例:
输入你的JSON数组后,执行第一个查询语句,会得到你想要的结果:
{ "data": "interesting data", "definition":{ "id":2216 } }
内容的提问来源于stack exchange,提问作者Janneman96
相关产品推荐
相关产品推荐

