如何使用JSONPath筛选以指定字符开头的JSON属性值?
筛选指定前缀开头的JSON属性值的JSONPath表达式
需求说明
基于提供的JSON数据,需从所有model属性值中筛选出以iph(不区分大小写)或iPhone开头的条目,排除不符合条件的结果(如示例中的"Samsung")。
适用的JSONPath表达式
$..model[?(@ =~ /^iph/i)]
表达式解释
$..model:递归遍历JSON结构的所有层级,获取所有model属性的值[?()]:过滤逻辑,仅保留满足括号内条件的条目@ =~ /^iph/i:使用正则表达式进行匹配:@代表当前待筛选的model属性值=~是JSONPath中的正则匹配运算符/^iph/i表示匹配以iph开头的字符串,i修饰符开启不区分大小写模式,可同时覆盖iPhone、iph等开头的情况
执行结果
执行上述表达式后,输出结果符合预期:
[ "iPhone", "iPhone 6S", "iPhone 14" ]
内容的提问来源于stack exchange,提问作者Naveen Chand K
相关产品推荐
相关产品推荐

