JSONPath 查询
使用 JSONPath 查询 JSON
{
"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
}使用说明
- 在左侧"JSON 数据"框中粘贴原始 JSON 字符串
- 在"JSONPath 表达式"输入框中输入查询语句,如 $.data[0].name
- 右侧自动显示查询结果
- 可点击复制按钮一键复制查询结果
核心功能
- 1JSONPath 表达式查询支持完整的 JSONPath 语法,包括 $、.、[]、*、..、? 等操作符。
- 2实时结果预览输入表达式后即时显示查询结果,无需提交。
- 3结果格式化输出查询结果自动格式化为整洁的 JSON,方便阅读和复制。
- 4多节点批量提取支持通配符和递归下降,一次提取多个匹配节点。
适用场景
工具优势
常见问题
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包。