{} HiJSON

使用教程

JSONPath 路径查询入门

JSONPath 是一种用于从 JSON 文档中提取数据的查询语言,语法类似 XPath。在调试复杂 API 响应时,JSONPath 能帮你快速定位深层字段,无需手动展开整个树形结构。本文介绍核心语法及在 HiJSON 中的使用方法。

示例数据

以下教程基于如下 JSON 示例:

{
  "store": {
    "name": "Book Store",
    "books": [
      { "title": "JSON Guide", "price": 29.9, "category": "tech" },
      { "title": "Web Dev", "price": 39.9, "category": "tech" },
      { "title": "Cooking", "price": 19.9, "category": "life" }
    ],
    "location": { "city": "Shanghai", "zip": "200000" }
  }
}

基础语法

表达式含义结果
$根节点整个 JSON
$.store.name点号访问属性"Book Store"
$.store['name']方括号访问"Book Store"
$.store.books[0]数组索引第一本书对象
$.store.books[-1]倒数第一个最后一本书
$.store.books[*].title通配符所有书名数组

数组切片与过滤

$.store.books[0:2]       → 前 2 本书
$.store.books[?(@.price < 30)]  → 价格低于 30 的书
$.store.books[?(@.category=='tech')] → tech 分类的书

过滤器 [?(表达式)] 中,@ 代表当前数组元素。支持比较运算符 ==!=<> 及逻辑与 &&

递归下降

使用 .. 可以在任意深度搜索字段名,无需知道完整路径:

$.store..title    → 所有层级的 title 字段
$..price         → 所有 price 字段

这在处理结构不统一或嵌套层级很深的 JSON 时特别有用,例如日志数据或第三方 API 响应。

HiJSON 多字段对比语法

HiJSON 扩展支持一种特殊的 JSONPath 语法,用于将数组中多个对象的指定字段提取为对比表格:

$.store.books[*].{title, price, category}

这将在 HiJSON 中生成一个三列对比表格,每行对应一本书,方便快速核对数据。在搜索框中输入上述表达式即可触发多字段对比模式。

在 HiJSON 中使用 JSONPath

  1. 在 HiJSON 中解析 JSON 数据(粘贴后点击「解析」)。
  2. 在顶部搜索框中输入以 $ 开头的 JSONPath 表达式。
  3. HiJSON 将高亮匹配节点,并在下方显示查询结果列表。
  4. 点击结果项可跳转到对应树节点,查看完整上下文。
  5. 开启「记忆模式」后,路径查询结果会自动保存,方便反复对比。

实用技巧

  • 键名含特殊字符:使用方括号语法,如 $['field-name']
  • 不确定路径:先用 $..fieldName 递归搜索,再根据结果精确定位
  • 组合查询:先过滤再提取,如 $.items[?(@.status=='active')].id
  • 复制路径:在树形视图中点击节点,详情面板显示完整 JSONPath,可一键复制

相关教程

立即体验 JSONPath 查询

在 HiJSON 搜索框中输入 $ 开头的表达式,实时查询 JSON 数据。

打开 HiJSON 工具 →