---
title: "json_path | Grafana Agent documentation"
description: "Learn about json_path"
---

# json\_path

The `json_path` function lookup values using [jsonpath](https://goessner.net/articles/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`](../../components/local.file/) or [`remote.http`](../../components/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

![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```none
> 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
```
