JSONPath测试器 - 在线评估JSONPath表达式
实时测试和评估JSON数据的JSONPath表达式。支持过滤器、递归下降、数组切片等 — 100%客户端处理,数据不发送到服务器。
常见问题
什么是JSONPath?
JSONPath是一种JSON数据查询语言,类似于XML的XPath。它于2024年2月由IETF标准化为RFC 9535。JSONPath允许您使用路径表达式(如$.store.book[0].title)从JSON文档中选择和提取特定值。
如何使用JSONPath测试器?
将JSON数据粘贴到JSON输入区域(或点击Sample加载示例数据),然后在表达式字段中输入JSONPath表达式。输入时结果会自动实时显示。您可以复制结果或从示例面板尝试不同的表达式。
我的数据安全吗?
是的。所有处理100%在您的浏览器中完成。您的JSON数据和JSONPath表达式永远不会发送到任何服务器。这使其可以安全地用于生产API响应、包含秘密的配置文件或任何敏感数据。
支持哪些JSONPath语法?
该工具支持标准JSONPath运算符:根节点($)、子节点(. 或 [])、递归下降(..)、通配符(*)、数组索引([n])、数组切片([start:end:step])和过滤器表达式([?()])。使用扩展了RFC 9535标准的JSONPath-Plus库。
支持的最大JSON大小是多少?
该工具支持最大5MB的JSON数据。为获得实时评估的最佳性能,建议使用小于1MB的JSON。较大的数据集在评估期间可能会出现轻微延迟。
JSONPath和JMESPath有什么区别?
JSONPath(RFC 9535)和JMESPath都是JSON查询语言,但语法和功能不同。JSONPath使用$作为根节点,.进行遍历(如$.store.book[*].author),而JMESPath使用不同的语法(如store.book[*].author)。JSONPath更为人知;JMESPath在AWS CLI中广泛使用。
代码示例
// Using jsonpath-plus in Node.js
const { JSONPath } = require('jsonpath-plus');
const data = {
store: {
book: [
{ category: "fiction", author: "Tolkien", title: "The Lord of the Rings", price: 22.99 },
{ category: "reference", author: "Nigel Rees", title: "Sayings of the Century", price: 8.95 }
]
}
};
// Basic query
const authors = JSONPath({ path: '$.store.book[*].author', json: data });
console.log(authors); // ["Tolkien", "Nigel Rees"]
// Filter expression
const cheapBooks = JSONPath({ path: '$.store.book[?(@.price < 10)]', json: data });
console.log(cheapBooks); // [{ category: "reference", ... }]
// Recursive descent
const allPrices = JSONPath({ path: '$..price', json: data });
console.log(allPrices); // [22.99, 8.95]