JMESPath能否无需指定完整路径查询嵌套值?
JMESPath 是否支持无完整路径层级提取name值?
明确结论:JMESPath确实没有类似JSONata中**.name这种递归遍历所有层级的通配符语法,无法跳过中间层级直接提取所有匹配的name字段。
针对你提供的JSON结构:
{ "country": { "people": [ { "age": 20, "name": "Bob" }, { "age": 25, "name": "Fred" } ] } }
若要提取所有name值,JMESPath必须指定完整路径,比如:country.people[*].name
执行后得到结果:["Bob", "Fred"]
JMESPath的通配符*仅能用于当前层级的匹配,没有递归遍历所有嵌套层级的语法。如果JSON结构的层级不确定、无法提前明确路径,JMESPath就无法直接实现类似JSONata的递归提取效果。
内容的提问来源于stack exchange,提问作者felix001
相关产品推荐
相关产品推荐

