Caution
Grafana Alloy is the new name for our distribution of the OTel collector. Grafana Agent has been deprecated and is in Long-Term Support (LTS) through October 31, 2025. Grafana Agent will reach an End-of-Life (EOL) on November 1, 2025. Read more about why we recommend migrating to Grafana Alloy.
json_path
The json_path
function lookup values using jsonpath syntax.
The function expects two strings. The first string is the JSON string used look up values. The second string is the jsonpath expression.
json_path
always returns a list of values. If the jsonpath expression does not match any values, an empty list is returned.
A common use case of json_path
is to decode and filter the output of a local.file
or remote.http
component to a River value.
Remember to escape double quotes when passing JSON string literals to
json_path
.For example, the JSON value
{"key": "value"}
is properly represented by the string"{\"key\": \"value\"}"
.
Examples
> json_path("{\"key\": \"value\"}", ".key")
["value"]
> json_path("[{\"name\": \"Department\",\"value\": \"IT\"},{\"name\":\"TestStatus\",\"value\":\"Pending\"}]", "[?(@.name == \"Department\")].value")
["IT"]
> json_path("{\"key\": \"value\"}", ".nonexists")
[]
> json_path("{\"key\": \"value\"}", ".key")[0]
value