You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JSONPath过滤列表中符合super*模式的字符串?

JSONPath过滤匹配'super*'模式的数组元素

要筛选出roles数组中以super开头的元素,正确的JSONPath表达式是:

$.roles[?(@ =~ /^super.*$/)]

表达式说明:

  • $.roles:定位到JSON根节点下的roles数组
  • [?()]:JSONPath的过滤语法,用于筛选数组中符合条件的元素
  • @:指代当前遍历到的数组元素
  • =~:正则匹配运算符(主流JSONPath实现如Jayway JsonPath均支持)
  • /^super.*$/:正则表达式,对应你需要的super*通配符效果,匹配所有以super开头的字符串

执行这个表达式后,就能得到你想要的结果:

["super_role1", "super_role2"]

补充说明:

  • 你之前尝试的.roles['super*']语法是用来匹配对象属性名的通配符,而非数组元素的内容,所以无法实现需求。
  • 部分JSONPath实现支持更简洁的字符串前缀判断语法,比如:
    $.roles[?(@ starts with 'super')]
    
    这种写法可读性更强,但兼容性不如正则表达式,需要看你使用的JSONPath工具是否支持。

内容的提问来源于stack exchange,提问作者Jeremy D

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 08:42:11