JSON 路径提取器

使用 JSONPath 或 JMESPath 风格表达式查询 JSON,查看匹配路径,并在原始文档中高亮提取结果

示例结果

2 个示例

用 JSONPath 过滤管理员姓名

从 API 响应中筛出匹配对象和字段,并在高亮 JSON 视图中查看它们

Expressions: 2, Matches: 2, highlighted JSON with $.users[0] and $.users[0].name
查看输入参数
{ "jsonInput": "{\n \"users\": [\n { \"name\": \"Ada\", \"role\": \"admin\", \"score\": 9 },\n { \"name\": \"Linus\", \"role\": \"editor\", \"score\": 6 }\n ]\n}", "queryExpressions": "$.users[?(@.role == \"admin\")]\n$.users[*].name", "queryEngine": "jsonpath", "displayMode": "highlighted-json", "flattenArrays": true, "includeNullValues": false, "maxMatches": 20 }

用 JMESPath 风格语法遍历嵌套数组

利用通配符和比较过滤条件,从嵌套订单数据中提取高价值商品

Matches: $.orders[0].items[1].sku, $.orders[1].items[0].sku
查看输入参数
{ "jsonInput": "{\n \"orders\": [\n { \"id\": 1, \"items\": [{ \"sku\": \"A1\", \"price\": 9 }, { \"sku\": \"B2\", \"price\": 19 }] },\n { \"id\": 2, \"items\": [{ \"sku\": \"C3\", \"price\": 24 }] }\n ]\n}", "queryExpressions": "orders[*].items[?price >= 19][*].sku", "queryEngine": "jmespath", "displayMode": "match-list", "flattenArrays": true, "includeNullValues": false, "maxMatches": 10 }

Use one expression per line. Supports field access, array indexes, wildcards, and simple filters.

关键信息

分类
数据与表格
输入类型
textarea, select, checkbox, number
输出类型
html
样本覆盖
4
支持 API
Yes

概览

JSON 路径提取器是一款专为开发者和数据分析师设计的在线工具,支持使用 JSONPath 或 JMESPath 表达式快速查询和提取 JSON 数据。通过直观的高亮视图或匹配列表,您可以轻松验证查询逻辑、过滤复杂嵌套结构,并精准定位目标字段,大幅提升处理 API 响应或配置文件的效率。

适用场景

  • 需要从庞大且嵌套层级深的 API 响应中提取特定字段时。
  • 编写和调试 JSONPath 或 JMESPath 表达式,验证匹配结果是否符合预期时。
  • 需要快速过滤 JSON 数组中的对象(如按条件筛选用户或订单)并查看原始上下文时。

工作原理

  • 在输入框中粘贴需要解析的 JSON 文本数据。
  • 选择查询引擎(JSONPath 或 JMESPath),并逐行输入您的查询表达式。
  • 配置显示模式(高亮 JSON 或匹配列表)以及是否扁平化数组、包含空值等选项。
  • 工具将实时解析表达式,并在输出区域高亮显示匹配的节点或列出提取结果。

使用场景

后端开发者调试 REST API 时,快速验证返回的 JSON 数据中是否包含特定状态码或错误信息。
数据分析师从导出的复杂 JSON 日志文件中,批量提取所有高价值订单的商品 SKU 列表。
前端工程师在对接接口前,使用表达式过滤出特定权限的用户列表,以便构建本地 Mock 数据。

用户案例

1. 使用 JSONPath 过滤特定权限用户

前端开发者
背景原因
在对接用户管理系统 API 时,收到包含大量用户信息的 JSON 数组。
解决问题
需要快速筛选出角色为 admin 的用户,并提取他们的姓名以验证接口数据。
如何使用
粘贴 JSON 数据,选择 JSONPath 引擎,输入条件过滤表达式,选择高亮显示模式。
示例配置
查询表达式:
$.users[?(@.role == "admin")]
$.users[*].name
显示模式:Highlighted JSON
效果
工具在原始 JSON 中高亮显示了所有 role 为 admin 的用户对象及其 name 字段,直观确认了数据准确性。

2. 使用 JMESPath 提取高价值商品 SKU

数据分析师
背景原因
获取到一份包含多个订单及嵌套商品列表的 JSON 销售数据。
解决问题
需要跨越订单层级,直接提取所有单价大于等于 19 的商品 SKU。
如何使用
输入订单 JSON,切换至 JMESPath 引擎,输入带有比较过滤条件的表达式,并选择匹配列表模式。
示例配置
查询表达式:orders[*].items[?price >= 19][*].sku
显示模式:Match List
扁平化数组结果:开启
效果
成功跳过复杂的订单层级,直接输出一个包含所有符合条件 SKU 的扁平化列表。

用 Samples 测试

json

相关专题

常见问题

支持哪些查询语法?

工具目前支持标准的 JSONPath 语法以及 JMESPath 的常用子集,您可以在“查询引擎”选项中进行切换。

可以同时输入多个查询表达式吗?

可以,查询表达式输入框支持多行输入,每行代表一个独立的表达式,工具会综合展示所有匹配结果。

什么是“高亮 JSON”显示模式?

该模式会在您原始输入的 JSON 结构中,用醒目的背景色标记出被表达式匹配到的键值对或节点,方便您在原始上下文中查看数据。

提取结果中的数组可以展开吗?

可以,勾选“扁平化数组结果”选项后,工具会将嵌套的数组结构打平,便于直接查看具体的元素值。

匹配数量有上限吗?

有的,为了保证浏览器性能,默认最大匹配数为 30,您可以在设置中最高调整至 200。

API 文档

请求端点

POST /zh/api/tools/json-path-extractor

请求参数

参数名 类型 必填 描述
jsonInput textarea -
queryExpressions textarea Use one expression per line. Supports field access, array indexes, wildcards, and simple filters.
queryEngine select -
displayMode select -
flattenArrays checkbox -
includeNullValues checkbox -
maxMatches number -

响应格式

{
  "result": "
Processed HTML content
", "error": "Error message (optional)", "message": "Notification message (optional)", "metadata": { "key": "value" } }
HTML: HTML

AI MCP 文档

将此工具添加到您的 MCP 服务器配置中:

{
  "mcpServers": {
    "elysiatools-json-path-extractor": {
      "name": "json-path-extractor",
      "description": "使用 JSONPath 或 JMESPath 风格表达式查询 JSON,查看匹配路径,并在原始文档中高亮提取结果",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=json-path-extractor",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

你可以串联多个工具,比如:`https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`,最多20个。

如果遇见问题,请联系我们:[email protected]