⌘K 切换工具
VALIDATE & INSPECT

JSONPath评估工具

在JSON数据中评估JSONPath表达式。

local
jsonpath-finder

Examples: $..price, $.store.book[0], $..book[?(@.price>15)]

§01 关于此工具

概述

JSONPath 对 JSON 的作用,相当于 XPath 对 XML:一种从嵌套结构里取出特定值的查询语言。 这个求值器会在你输入的同时,对粘贴进来的 JSON 执行表达式——适合试写 jq 风格的 提取逻辑、编写 API 断言,或者排查代码里某条路径为什么返回空。

它的好处是不必把数据塞进脚本、也不必反复重启服务:先把一段真实响应粘进来, 把路径调对,再把这条路径抄回代码里。

使用方法

  1. JSONPath 输入框里写表达式,例如 $.store.book[*].title
  2. 把文档粘贴到 JSON 文本域。
  3. 匹配到的值会以格式化的 JSON 数组出现在 Result 里。两侧任一处的解析错误都会就地显示。

示例

  • 对示例数据执行 $.store.book[*].title["A", "B"]
  • $..price[10, 20](递归下降,取到每一个 price 键)
  • $..book[?(@.price>15)] → 价格高于 15 的那些 book 对象

说明

每次按键都会重新求值,因此很大的文档可能会显得迟滞。过滤表达式使用类似 JavaScript 的比较语法,注意 @ 指的是当前正在被判断的那个节点。路径写错通常不会报错,只会得到 一个空数组,所以调试时先用较短的路径确认结构,再逐段加长。如果结果里出现了预期之外 的值,通常是递归下降 .. 命中了嵌套更深处的同名键。

FAQ
我的 JSON 数据会被上传到什么地方吗?
不会。表达式完全在浏览器内通过 jsonpath-plus 库求值,你的 JSON 不会离开这个页面。
支持哪些 JSONPath 特性?
工具使用 jsonpath-plus,覆盖常见的 Goessner 语法:点号与方括号两种写法、通配符($.store.book[*])、递归下降($..price)、数组切片,以及 $..book[?(@.price>15)] 这样的过滤表达式。
为什么结果总是一个数组?
JSONPath 查询可能匹配到零个、一个或多个节点,所以结果以 JSON 数组的形式返回所有匹配到的值。空数组表示这条路径什么都没匹配上。