我有一个C#应用程序,当我调用“ http://host:port/app-status”时会返回Json状态。
响应如下:
{
"prtg":
{
"result": [
{
"channel": "DDS - ZDM - Konsistenzprüfung",
"value": "3",
"valuelookup": "prtg.RCLookup.DDS_ZDM_Check.BitField"
},
{
"channel": "ZDM DB Verbindungsversuche",
"value": "0",
"valuelookup": "prtg.RCLookup.Default.DB.Connect.Retry"
}
]
}
}
然后我在zabbix服务器上有一个类型为http agent的项目。 该请求工作正常。但是我得到这个错误:
预处理失败:HTTP / 1.1 200 Ok..Content-Length:361..Content-Type:application / json..Server:Grapevine / 4.1.1.0 M ...
1.失败:无法通过路径“ .prtg.result [0] .value”从json提取值:无法解析为有效的JSON对象:无效的对象格式,预期的开头字符“ {”或“ [”位于:“ HTTP / 1.1 200 Ok
内容长度:361
内容类型:application / json
伺服器:Grapevine / 4.1.1.0 Microsoft-HTTPAPI / 2.0
日期:2019年4月12日星期五14:19:12
在“预处理”选项卡中,我使用JsonPath设置了一个处理步骤。 JsonPath是:.prtg.result [0] .value
怎么了? 可以帮助我大家吗?
答案 0 :(得分:0)
从错误消息中看来,您正在尝试解析来自服务器包含标头的响应,这是错误的-您需要将仅发送回的数据解析为JSON(专有标头)