JSONPath 取值
用路径表达式从 JSON 中提取字段值。
1
什么是JSONPath 取值?
JSONPath 是一种类似 XPath 的查询语言,用于在 JSON 文档中定位和提取数据。给定一段复杂的、嵌套很深的 JSON,通过一个简洁的路径表达式(如 $.store.book[0].title)就能直接取出你需要的字段值,而不用手写代码去逐层遍历对象和数组。 JSONPath 取值工具的作用,就是让你输入一段 JSON 和一个 JSONPath 表达式,在浏览器本地实时计算出匹配结果,常用于调试接口返回值、编写自动化测试断言、或者在文档中说明如何从响应体里取某个字段。
为什么使用JSONPath 取值?
典型场景包括:调试 REST API 返回的 JSON,快速验证某个深层字段的路径是否写对;在写自动化测试(如 Postman、Jest)时,需要先在本地把 JSONPath 表达式跑通再放进代码;处理日志或配置文件里的 JSON,批量提取某个字段用于统计。相比直接读 JSON 再用编程语言写代码提取,JSONPath 取值工具的好处是零依赖、所见即所得——改一下表达式立刻看到新结果,不需要重新运行程序。 它和 jq(命令行 JSON 处理工具)功能类似,但 jq 语法更接近函数式管道,学习成本更高;JSONPath 语法更贴近人们熟悉的对象访问路径,上手更快,但复杂过滤和转换能力不如 jq。
使用示例
提取数组中所有书名
输入 JSON:{"store":{"book":[{"title":"三体","price":59},{"title":"球状闪电","price":45}]}},表达式 $.store.book[*].title,输出:["三体","球状闪电"]。
按条件过滤
同上数据,表达式 $.store.book[?(@.price<50)].title,输出:["球状闪电"],即价格低于 50 的书名。
取第一个元素
表达式 $.store.book[0].title 直接取数组第一项的 title 字段,输出「三体」;如果索引越界(比如数组只有 2 项却写 [5]),结果为空,不会报错崩溃。
使用提示
调试时建议从粗到细:先用 $.* 或 $..字段名 看看能不能找到目标字段所在层级,确认路径大致方向后再精确到具体索引,比一次性写复杂表达式更容易定位问题。
常见问题
支持哪些路径语法?
路径写错会怎样?
数据会上传吗?
JSONPath 和 jq 有什么区别?
支持哪些 JSONPath 语法?
数据会上传到服务器吗?
表达式匹配不到结果怎么办?
相关工具
← 返回工具箱· 数据均在浏览器本地处理,不上传服务器。