I knew that Zabbix supports JSON Path as described here https://www.zabbix.org/wiki/Testing_Of_Preprocessing. Good.
I went to http://jsonpath.com/ for test and made this query $.phoneNumbers[?(@.type=="iPhone")].number
I got this
[
"0123-4567-8888"
]
anyway I need only "0123-4567-8888".
Next. I have created simple php script for test purpose:
$data["firstname"] = "John";
$data["lastName"] = "doe";
$data["age"] = 26;
$data["address"]["streetAddress"] = "naist street";
$data["address"]["city"] = "Nara";
$data["address"]["postalCode"] = "630-0192";
$data["phoneNumbers"][0]["type"] = "iPhone";
$data["phoneNumbers"][0]["number"] = "0123-4567-8888";
$data["phoneNumbers"][1]["type"] = "home";
$data["phoneNumbers"][1]["number"] = "0123-4567-8910";
echo json_encode($data);
Create HTTP client item and it works fine, next I have created dependent item with same query $.phoneNumbers[?(@.type=="iPhone")].number
and I got:
Item preprocessing step #1 failed: cannot extract value from json by path "$.phoneNumbers[?(@.type=="iPhone")].number": unsupported character in json path starting with: "[?(@.type=="iPhone")].number"
I went to http://jsonpath.com/ for test and made this query $.phoneNumbers[?(@.type=="iPhone")].number
I got this
[
"0123-4567-8888"
]
anyway I need only "0123-4567-8888".
Next. I have created simple php script for test purpose:
$data["firstname"] = "John";
$data["lastName"] = "doe";
$data["age"] = 26;
$data["address"]["streetAddress"] = "naist street";
$data["address"]["city"] = "Nara";
$data["address"]["postalCode"] = "630-0192";
$data["phoneNumbers"][0]["type"] = "iPhone";
$data["phoneNumbers"][0]["number"] = "0123-4567-8888";
$data["phoneNumbers"][1]["type"] = "home";
$data["phoneNumbers"][1]["number"] = "0123-4567-8910";
echo json_encode($data);
Create HTTP client item and it works fine, next I have created dependent item with same query $.phoneNumbers[?(@.type=="iPhone")].number
and I got:
Item preprocessing step #1 failed: cannot extract value from json by path "$.phoneNumbers[?(@.type=="iPhone")].number": unsupported character in json path starting with: "[?(@.type=="iPhone")].number"
Comment