JSONPath 提取字段:从嵌套 JSON 精准取值
用 JSONPath 表达式从深层嵌套的 JSON 中提取字段,附 $、..、[*]、过滤器等语法示例。
JSONPath 是什么
JSONPath 类似 XML 的 XPath,用简短表达式在 JSON 中定位数据。它以 $ 表示根,.key 取属性,[*] 遍历数组,.. 递归查找。
核心语法速查
$.store.book[0] 第一个元素;$.store.book[*].title 所有标题;$..price 递归找所有 price;$.store.book[?(@.price<10)] 过滤器取低价书。
在 ToolBox 中提取
把 JSON 粘贴到左侧、在表达式框输入路径,右侧即时显示匹配结果;表达式写错会提示无匹配,便于调试接口返回的复杂结构。
常见问题
- JSONPath 和 JavaScript 取值有何不同?
- JSONPath 是声明式字符串表达式,便于配置与复用;直接 obj.a.b 是代码,二者可互相转换。
- 过滤器 ?() 支持哪些运算?
- 常见支持 ==、!=、<、<=、>、>= 及存在性检查 @.key 存在;复杂逻辑建议先抽取再在代码中处理。
- 为什么我的表达式返回空?
- 多半是大小写或路径层级不对;先用 $..字段名 递归查找确认字段确实存在。