JSONPath 在线提取字段:用路径从 JSON 取出嵌套值

2026-07-29

为什么需要按路径提取 JSON

接口响应一层套一层,data.user.profile.email 藏得很深。整段格式化后肉眼翻,不如用路径直接取出目标字段。ComTools JSONPath 查询Tools/Json/Path)在浏览器本地按路径取值,结果以格式化 JSON 显示。

输入格式(重要)

工具约定:

  1. 第一行:路径表达式(如 $.user.name
  2. 第二行起:完整 JSON 正文

若只有一行且是合法 JSON,则等价于路径 $(返回整棵树)。

路径写法

写法 含义
$ 整份 JSON
$.user 根下的 user
$.user.name 嵌套属性
$.tags 取数组本身

当前实现为点号分隔的属性路径(简化版 JSONPath):支持 $.a.b.c。复杂过滤(如 $..name[?(@.id==1)])暂不支持;数组下标可用 $.tags.0 这类形式(JavaScript 下标访问)。

使用步骤

  1. 打开 JSONPath 查询
  2. 第一行写路径,下面粘贴 JSON(可点「示例」:$.user.name + 样例对象)。
  3. 点击 运行
  4. 右侧查看提取结果,复制带走。

数据仅在本地解析,不上传服务器。

示例

输入:

$.user.name
{
  "user": {
    "id": 1,
    "name": "ComTools",
    "active": true
  },
  "tags": ["json", "excel", "image"]
}

输出:

"ComTools"

取整个用户对象时用 $.user

{
  "id": 1,
  "name": "ComTools",
  "active": true
}

路径不存在时结果为 null

常见场景

场景 路径思路
只要用户名 $.data.user.name(按真实结构调整)
看某一段配置 $.settings
取 tags 列表 $.tags
先确认 JSON 合法 JSON 校验
看不清结构 格式化

与相关工具

需求 工具
按路径取值 JSONPath
美化整树 JSON 格式化
数组导出表格 JSON 转 CSV
对比两版响应 JSON 对比

注意事项

  • 必须是标准 JSON;路径行不要夹在 JSON 中间。
  • 仅点号路径,不是完整 JSONPath 标准全集。
  • 中间某一级为 null/undefined 时,后续无法继续,输出 null

常见问题

Q:支持 $.items[*].id 吗?
A:当前不支持通配与过滤器;可先取出 $.items,再在本地处理,或多次对单个下标查询。

Q:路径要不要加 $
A:建议加;工具会去掉开头的 $ / $. 再按点拆分。

Q:和 jq 有何区别?
A:网页即用、语法更简单;复杂查询仍推荐 jq / 代码库。


English version