JSONPath 查询

使用 JSONPath 查询 JSON

JSONPathJSON查询JSONPath在线JSON提取JSON过滤数据查询工具
最后更新: 2026/4/8
{
  "store": {
    "book": [
      {
        "category": "reference",
        "author": "Nigel Rees",
        "title": "Sayings of the Century",
        "price": 8.95
      },
      {
        "category": "fiction",
        "author": "Evelyn Waugh",
        "title": "Sword of Honour",
        "price": 12.99
      },
      {
        "category": "fiction",
        "author": "Herman Melville",
        "title": "Moby Dick",
        "isbn": "0-553-21311-3",
        "price": 8.99
      },
      {
        "category": "fiction",
        "author": "J. R. R. Tolkien",
        "title": "The Lord of the Rings",
        "isbn": "0-395-19395-8",
        "price": 22.99
      }
    ],
    "bicycle": {
      "color": "red",
      "price": 19.95
    }
  },
  "expensive": 10
}
分享:

使用说明

  1. 在左侧"JSON 数据"框中粘贴原始 JSON 字符串
  2. 在"JSONPath 表达式"输入框中输入查询语句,如 $.data[0].name
  3. 右侧自动显示查询结果
  4. 可点击复制按钮一键复制查询结果

核心功能

  • 1
    JSONPath 表达式查询
    支持完整的 JSONPath 语法,包括 $、.、[]、*、..、? 等操作符。
  • 2
    实时结果预览
    输入表达式后即时显示查询结果,无需提交。
  • 3
    结果格式化输出
    查询结果自动格式化为整洁的 JSON,方便阅读和复制。
  • 4
    多节点批量提取
    支持通配符和递归下降,一次提取多个匹配节点。

适用场景

API 数据提取
从复杂的 API 响应 JSON 中快速提取所需字段,无需手动层层解析。
JSON 数据分析
对大型 JSON 数据集执行条件过滤查询,快速定位目标数据。
代码开发辅助
在编写 JavaScript/Python 数据处理代码前,先用 JSONPath 验证提取逻辑。
配置文件查询
从大型 JSON 配置文件中快速查找特定配置项的路径和值。

工具优势

完整语法支持
支持 JSONPath 全部语法特性,包括过滤表达式和递归下降。
即时反馈
表达式变化时实时更新结果,快速调试查询语句。
结果清晰
查询结果自动格式化,匹配数量一目了然。

常见问题

Q: $.store.book[*].author 和 $..author 有什么区别?

A: 前者只查找 store.book 数组下所有书的 author 字段;后者使用递归下降操作符 ..,会在整个 JSON 树中递归查找所有 author 字段,层级不限。

Q: 如何查询数组中满足条件的元素?

A: 使用过滤表达式,例如 $.books[?(@.price < 10)] 可查找价格小于10的书,@ 代表当前被遍历的元素。

Q: JSONPath 和 XPath 有什么关系?

A: JSONPath 是参照 XML 的 XPath 为 JSON 设计的查询语言,语法相似但针对 JSON 结构优化,$ 代表根节点相当于 XPath 的 /。

关联介绍

JSONPath

从JSON数据中提取信息的查询语言,语法类似XPath。

什么是XPath

XPath是XML路径语言,用于从XML文档中选取节点。与JSONPath类似,但针对XML结构设计。核心语法:/表示根节点,//表示任意位置,@表示属性,[]表示条件筛选。如"//book[@price>20]/title"选取价格大于20的书名。XPath广泛应用于网页爬虫、XML解析、配置文件处理。

什么是REST API

REST API是遵循REST架构风格的网络接口设计规范。核心原则:使用HTTP方法(GET/POST/PUT/DELETE)操作资源,URL表示资源路径,返回JSON/XML格式数据。如GET /users获取用户列表,POST /users创建用户。RESTful API无状态、可缓存、易于理解,是现代Web服务的主流选择。

什么是JSON Schema

JSON Schema是描述JSON数据结构的规范,用于数据验证和文档化。通过定义type、properties、required等字段,描述数据的格式、约束、含义。如{"type":"string","minLength":1}定义非空字符串。JSON Schema广泛应用于API文档、自动化测试、数据交换协议设计。

什么是Webhook

Webhook是一种服务器主动推送通知的机制。当特定事件发生时(如用户付款),服务器向预设URL发送HTTP POST请求并携带数据。相比轮询,Webhook更实时、更节省资源。Github的push事件、支付回调、聊天机器人都是Webhook典型应用。设置Webhook需注意安全验证(签名/Token)和幂等性处理。

什么是OAuth

OAuth是开放授权协议,允许第三方应用访问用户在其他服务上的资源,而无需提供密码。流程:用户授权 → 颁发Access Token → 应用使用Token访问API。OAuth 2.0是当前主流版本,用于GitHub登录、微信登录等场景。Token有有效期,可随时撤销,安全性比直接共享账号密码高很多。

什么是JSON5

JSON5是JSON的超集,保持JSON语法的同时增加人性化的语法特性。主要改进:支持单行注释(//或/* */)、支持尾随逗号、允许键名不加引号、允许单引号字符串、允许Infinity、NaN等JavaScript字面量。JSON5让配置文件更易读写,如Vite、Next.js等工具使用json5格式的配置文件。解析JSON5需使用专门的库如json5 npm包。