JMESPath高级查询求助:两类选择查询语句编写问题
JMESPath 查询语句解决方案
1. 筛选同时包含XXXclass和YYYclass键的条目
通过keys()获取当前对象的所有键,结合contains()判断两个目标键是否同时存在,再用过滤表达式筛选结果:
items[?contains(keys(@), 'XXXclass') && contains(keys(@), 'YYYclass')]
这条语句会返回items数组中同时拥有XXXclass和YYYclass两个键的所有元素。
2. 筛选offer.type包含-interest的子块
如果需要提取所有符合条件的子属性块(如XXXclass、YYYclass这类包含目标offer的块),使用以下语句:
items[].*[?contains(offer.type, '-interest')]
如果需求是返回包含符合条件子块的整个items元素,可调整为:
items[?.*[contains(offer.type, '-interest')]]
解释:.*遍历每个item的所有子属性,contains(offer.type, '-interest')检查offer.type是否包含指定字符串。
内容的提问来源于stack exchange,提问作者Doul
相关产品推荐
相关产品推荐

