Oh MyUtils

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]

相关工具