Command Palette

Search for a command to run...

JS

JSONPath 测试仪

JSONPath表达式对任意JSON进行测试,并立即看到匹配的值及其路径 支持通配符、递归下降、切片和过滤器 100%客户端。

什么是 JSONPath 测试仪?

JSONPath 测试人员针对 JSON 文档评估 JSONPath 表达式,并返回表达式选择的每个值,以及每个匹配的确切路径。JSONPath 是 JSON 的查询语言,XPath 是 XML 的查询语言的方式:您编写一条短路径,例如 $。store。book[*]。author,无需编写任何代码即可返回匹配值列表。此工具解析您的 JSON,运行表达式,并显示每个结果和归一化路径。

Tester 的重点是反馈,当 JSONPath 表达式什么也没返回,或者返回的次数超过你预期时,问题几乎总是一个小小的语法细节:缺少通配符、错误的括号样式,或者是将字符串与数字与真实数据实时运行查询,并看到它触及哪些节点,将那个猜测变成两秒检查,这也是开发人员在编辑器旁边保持正则表达式测试器打开的原因。

Everything都在你的浏览器中运行。JSON是用内置的JSON解析器解析的,表达式由一个用JavaScript编写的小解释器来评估的,所以上传、记录或存储的任何内容都不重要,因为JSONPath工作通常会针对携带令牌、ID或客户记录的API响应和配置文件进行,而这个工具会将该有效负载保留在自己的机器上,并在页面加载后保持离线工作。

JSONPath是一个有多个实现而不是单个规范的约定,它们在边上存在分歧。过滤语法是最不便携的部分,因此在一个库中工作的表达式可能需要调整在另一个库中。递归下降是昂贵的操作:它会走在文档中的每个节点上,因此在一个大文件上,以两个点开头的查询明显比显式路径慢。

JSONPath 在线评估员的身份进行尝试,请单击加载样本,将表达式替换为 $。store。book [?(@。price < 10)]。title,然后单击评估。值模式返回 ["世纪语录", "白鲸"],窗格标记为 2 个结果。将输出切换到路径,然后单击再次评估,相同的查询返回 $。store。book [0]。title 和 $。store。book [2]。title,它告诉您过滤器跳过索引 1 和 3 处的书籍。将表达式更改为 $。price,您将获得五个数字,因为递归下降也到达自行车。

如何使用 JSONPath 测试仪?

  1. 粘贴您的 JSON

    JSON 框中粘贴对象或数组, 或者点击书店文档的加载样本, 输入必须是有效的 JSON; 解析错误显示在浏览器自己的消息中, 通常会命名位置, 这样就可以修复它。

  2. 编写 JSONPath 表达式

    入$。store。book[*]。title或$。price之类的路径,从$开始为根,使用点或括号给孩子,并添加像[?(@。price < 10)]这样的过滤器,以值选择。

  3. 阅读比赛

    击"评估来运行表达式;"匹配窗格列出每个匹配值并显示结果计数将输出切换到路径或条目,然后再次单击"评估,查看每个结果来自哪里。

  4. 复制结果

    将匹配的值、路径列表或完整的路径和值条目复制为 JSON,以粘贴到您的代码、测试或文档中。

主要特点

  • 全路径语法

    Root、child、递归下降 (.。)、通配符 (*)、包括负索引的数组索引、并集和 Python 风格的切片都受到支持,因此大多数已发布的 JSONPath 示例都保持不变。

  • 过滤表达式

    用[?(@。price < 10 && @。category =="fiction")]等过滤器按值选择节点。比较运算符、存在检查和 &&/|| 组合按元素进行评估。

  • 值、路径或条目

    将匹配值、每个匹配的标准化路径或两者一起看作条目,路径输出对于构建您需要的表达式很方便。

  • 清除错误消息

    JSON无效和格式错误的表达式单独报告特定消息,因此您知道是修复数据还是查询,而不是盯着一个空结果。

Frequently Asked Questions

JSONPath是JSON的一种查询语言,建模于XPath for XML。$。store。book[0]。title这样的表达式描述了一条通过文档的路径,评估它返回该路径的一个或多个值。它广泛用于API测试工具、网关和配置系统中,以提取或匹配JSON有效负载的部分。

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!

jsonpath testerjsonpath evaluatorjson path onlinetest jsonpathjsonpath queryjsonpath filterjsonpath expressionquery jsonjsonpath onlinejsonpath online evaluatorjsonpath evaluator onlinejsonpath filter examples