JSONPath 表达式测试工具
实时测试 JSONPath 表达式匹配结果
常见问题
JSONPath 是什么?
JSONPath 是一种类似 XPath 的查询语言,用路径表达式从 JSON 中提取数据,例如 `$.store.book[*].author` 会返回所有书的作者。常用于 API 测试、自动化脚本、CI 断言和日志聚合。
这个工具能做什么?
粘贴 JSON 数据和 JSONPath 表达式,工具会实时计算并展示匹配结果。对于 API 返回调试、ElasticSearch / MongoDB 查询思路验证、Postman 测试脚本编写都非常有帮助。
支持哪些语法特性?
支持主流 JSONPath 语法:`$`(根)、`.`(子元素)、`..`(递归下降)、`[*]`(所有元素)、`[?(@.key=='value')]`(过滤)、`[start:end]`(切片)。不同实现(Goessner、Jayway)在细节上略有差异,工具采用与 JavaScript 社区最广泛兼容的实现。
为什么我的过滤表达式不生效?
- 字符串值必须加引号:`@.price<10` 没问题,但字符串要写 `@.cat=='fiction'` - 属性名含特殊字符时需用 `['key']` 语法 - 不支持正则匹配(需用 `filter()` 等扩展) 工具会在表达式报错时给出提示。
数据会上传吗?
不会。JSON 数据与表达式在浏览器端求值,适合验证接口返回里的敏感字段。
JSONPath、JMESPath、JSONata 怎么选?
JSONPath 最普及,API Gateway / Kubernetes / Postman 都原生支持;JMESPath 是 AWS CLI 的内置查询语言,语法更严格;JSONata 接近 SQL,功能最强但学习成本高。一般场景选 JSONPath,复杂数据变换可考虑 JSONata。