跳到正文
在此运行 完全在你的浏览器里运行,不上传、不登录

JSONPath 查询

用 JSONPath 子集查询 JSON:子路径、递归下降、数组下标与比较过滤,不支持语法如实报错。

支持的子集:$.a.b、$..key、[0]、[*]、.* 与 [?(@.price<10)] 过滤(==、!=、<、<=、>、>=)。

怎么用

  1. 把 JSON 粘贴到 JSON 面板——页面启动时会预载一个书店目录示例。
  2. 在 JSONPath 框里输入查询,例如 $.store.book[?(@.price<40)].title。
  3. 匹配值以列表呈现,每条都标注它被找到的确切路径。
  4. 无效查询与不支持的语法会给出明确错误,而不是悄悄返回错的结果。
  5. 试试 $..price,看递归下降把每一层的同名键都收集上来。

常见用法

常见问题

问:到底支持哪些 JSONPath 特性? 答:$ 根、.name 与 .* 子步骤、$..name 递归下降、[n] 下标(负数从尾部数)、[*],以及 == != < <= > >= 的 [?(@.key op value)] 过滤。联合列表、切片与脚本表达式不支持,会直接报错。

问:过滤器怎么比较值? 答:字段是数字且字面量看起来是数字时按数值比较,否则两边都按字符串比较。@.name == "Refactoring" 用的是精确字符串相等。

问:$..key 会搜进数组里吗? 答:会。递归下降会访问每一层的数组元素与对象值,所以 $..price 既能找到对象数组里的价格,也能找到直接嵌套对象里的价格。

你的数据留在这台设备上

JSONPath 查询 完全在本地运行。你粘贴或拖入的一切都由你自己的浏览器处理,不会被传走。我们的服务器不保存任何东西——关掉标签页就没了。

你输入的内容不会发往服务器、不被记录,也不用于分析统计。首次加载之后即使断网,这个页面照样能用。