通过jsonpath断言状态

时间:2018-03-26 06:09:06

标签: jsonpath site24x7

我想添加一个监视器来检测不健康的服务并在这种情况下发送警报。 我公开了一个简单的REST API - /healthy,它返回一个JSON 例如{"healthy": true}

然后我在我的site24x7帐户中添加了REST API Monitor,将内容检查响应格式设置为JSON,现在我应该提供要声明的JSONPath。

在我使用$.healthy的JSONPath在线测试工具中,我得到[true]。 但我想我应该尝试断言返回值。

使用以下表达式无效

$.(@healthy=='true')
$.[?(@.healthy=='true')]
$[?(@.healthy=='true')]
$?(.healthy=='true')
$.healthy=='[true]'
$.healthy==[true]
$.healthy==['true']

以为我应该使用()或过滤来评估断言表达式。

我如何断言回归健康状况?

在site24x7示例中,我看到了JSONPath表达式的示例

$..[?(@.overallStatus=='true')]

我无法在我的案例中使用

谢谢

1 个答案:

答案 0 :(得分:0)

它的文档记录非常差,但是查看了Jayway JsonPath的示例,最终发现它可行:

$.[?(@.healthy == true)]

由于您的结构是如此基础,所以我认为这也可能有效:

[?(@.healthy == true)]

您可以在https://jsonpath.herokuapp.com/上试用