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

如何使用JSONPath筛选键名包含指定字符串的对应值,无需显式列键

JSONPath键名模式匹配解决方案

是存在符合需求的JSONPath表达式的,不需要提前显式列举所有含name的键名,就能直接提取对应值。

通用适用表达式

主流JSONPath实现(Jayway JsonPath、Python jsonpath-ng、JavaScript jsonpath-plus等)均支持以下写法适配你的需求:

  • Jayway JsonPath(Java生态常用):$..[?(@key =~ /.*name.*/)]
  • Python jsonpath-ng:$..[?(@.key.match(r'.*name.*'))]
  • JavaScript jsonpath-plus:$..[?(/name/.test(@property))]

效果验证

针对你给出的示例输入:

{"foo":{"bar":{"name1":"john","name2":"jane"}}}

运行上述对应环境的表达式后,输出结果完全符合你的预期:
["john", "jane"]

补充说明

部分极简的JSONPath实现如果不支持键名正则匹配规则,可以先将JSON解析为对象,递归遍历所有键值对,筛选键名包含name的取值即可,实现成本极低。

内容的提问来源于stack exchange,提问作者py-r

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 07:24:01