---
title: "json_path | Grafana Cloud 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 doesn’t 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`](/docs/grafana-cloud/send-data/alloy/reference/components/local/local.file) or [`remote.http`](/docs/grafana-cloud/send-data/alloy/reference/components/remote/remote.http) component to an Alloy syntax 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

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

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