JSONPath 查询和 JSONPath Builder
- Last Updated: October 16, 2024
- 6 minute read
JSONPath Builder 是在创建 REST API 主动和性能监控工具以及 REST API 主动和性能应用程序监控 (APM) 组件时使用的辅助实用程序。该工具帮助用户选择他们想要监控的 JSON 元素,并为所选的 JSON 元素生成一个 JSONPath 查询。
JSONPath 查询可以采用两种样式书写,即括号表示法和点表示法,例如:
-
[‘name’] -
$.name
本主题介绍 JSONPath Builder 工具的工作流和支持的语法。
REST API 性能监控工具中的 JSONPath Builder
当您从监控工具库添加新的 REST API 性能监控工具时, 添加 REST API 性能监控工具 窗口将打开。此窗口包含两个相关部分, REST API 和 JSONPATH ,它们在 JSONPath Builder 工具中使用。
提供 REST API 性能监控工具名称、描述和超时值,然后按照以下步骤使用 JSONPath Builder 工具:
- 指定要获取性能指标的 REST API URL 端点。
- (可选)使用 编辑自定义标头 按钮添加自定义标头。
- (可选)如果您需要禁止显示证书错误消息,请选择 忽略证书错误 。
- (可选)选择 使用匿名访问 绕过向端点发送 REST API 凭据。此选项仅在 REST API 端点不需要身份验证即可访问时有效。
- 单击 JSONPath Builder 按钮。如果 REST API URL 有效,则会打开 JSONPath Builder 窗口。在此窗口中,您可以选择要监控性能数据的数字字段。下图显示带有示例“儿童图书馆”数据的 JSONPath Builder 窗口:
- 单击 验证 以在端点上运行测试。如果性能监控工具可以从 JSONPATH 端点值中提取数字结果,则可以保存监控工具并将其添加到性能监控工具库中。下图是一个 JSONPath 示例,该示例向使用 JSONPath Builder 构建的性能监控工具返回一个有效的数值:
REST API 主动监控工具中的 JSONPath Builder
当您从监控工具库添加新的 REST API 活动监控工具时, 添加 REST API 主动监控工具 窗口将打开。此窗口包含两个相关部分: REST API 和 脱机条件 ,其中包括 JSONPath 查询 网格作为为监控工具添加脱机条件的方法。在选择放大镜按钮时, JSONPath 查询 网格会使用 JSONPath Builder。
在使用 REST API 主动监控工具时,您可以定义多个 JSONPath 查询来评估监控工具的脱机状态。此外,与性能监控工具不同,主动监控工具支持针对数字、布尔和字符串类型的变量验证脱机条件。
在 JSONPath Builder 中选择 JSON 元素后,JSONPath 查询网格会自动检测元素的类型,并将其输入到 JSONPath 查询网格的 类型 列中。
提供 REST API 主动监控工具名称、描述和超时值,然后按照以下步骤使用 JSONPath Builder 工具:
- 指定要获取性能指标的 REST API URL 端点。
- (可选)使用 编辑自定义标头 按钮添加自定义标头。
- (可选)如果您需要禁止显示证书错误消息,请选择 忽略证书错误 。
- (可选)选择 使用匿名访问 绕过向端点发送 REST API 凭据。此选项仅在 REST API 端点不需要身份验证即可访问时有效。
- 选择将监控工具报告为脱机的 HTTP 响应代码。
- 选择 + 按钮向 JSONPath 查询网格添加一行。该行默认为空。
- 在 JSONPath 查询网格中的空行内部双击,然后选择放大镜按钮以打开 JSONPath Builder。如果未选中
使用匿名访问
,则会提示您输入
REST API 凭据
。JSONPath Builder 窗口打开。在此窗口中,您可以选择要监控脱机条件的数字、布尔值或字符串类型端点。下图显示有关图书馆书籍的示例 API 的脱机条件示例:

- 单击 保存 以将监控工具添加到主动监控工具库。
REST API 性能应用程序监控 (APM) 组件中的 JSONPath Builder
REST API 性能应用程序监控 (APM) 组件的工作方式与 REST API 性能监控工具类似,但增加了数值响应的警告和脱机阈值条件。REST API APM 组件可以附加到测试设备并进行验证。下图显示示例数字 API 端点以及警告和脱机阈值:
REST API 主动应用程序监控 (APM) 组件中的 JSONPath Builder
REST API 主动应用程序监控 (APM) 组件的工作方式与 REST API 主动监控工具类似,只是增加了一个测试设备,REST API 主动 APM 组件可以连接到该设备并验证监控工具。
高级 JSONPath 查询
如上所述,JSONPath 查询可以采用两种样式书写,即括号表示法和点表示法,例如:
-
[‘name’] -
$.name
如果有一个 JSON 数组“books”,其中数组中的第一项名称为“The Cat in the Hat”,则可以通过输入以下任一 JSON 查询来访问该值:
-
[‘books’][0]['name'] -
$.books[0].name
除了支持使用 JSONPath Builder 为 JSON 元素生成 JSONPath 查询之外,您还可以编写高级查询以使用 JSONPath 查询中的过滤条件来验证 JSON 响应。过滤条件可用于执行使用比较运算符的操作。此外,“length”属性可用于返回 JSON 数组的长度。
这些属性可用于 JSONPath 查询过滤条件,以根据条件返回值并过滤掉不需要的值。
下表列出支持的比较运算符:
|
比较运算符名称 |
比较运算符 |
示例(括号符号) |
示例(点记法) |
注释 |
|---|---|---|---|---|
|
等于 |
|
|
|
该查询返回库存中“The Cat in the Hat”的副本数。 |
|
不等于 |
|
|
|
|
|
小于 |
|
|
|
例如,对于主动监控工具和主动 APM 组件,如果“The Cat in the Hat”包含少于 3 个副本,则脱机条件将是一个包含“The Cat in the Hat”的字符串。 |
|
小于或等于 |
|
|
|
|
|
大于 |
|
|
|
例如,对于主动监控工具和主动 APM 组件,如果“The Cat in the Hat”包含 1 个以上的副本,则脱机条件可以是不包含 1(“The Cat in the Hat”的 bookId)的数字。 |
|
大于或等于 |
|
|
|
|
|
长度 |
|
|
|
返回 JSON 数组的长度。 |