2

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

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

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

使用以下表达式无效

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

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

如何断言返回健康状态?

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

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

我无法让它在我的情况下工作

谢谢

4

1 回答 1

2

它的文档记录非常差,但我查看了Jayway JsonPath的示例,最终发现这很有效:

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

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

[?(@.healthy == true)]

您可以在https://jsonpath.herokuapp.com/上尝试一下

于 2019-09-12T04:07:48.973 回答