Тестирование JSONPath
Вставьте JSON и выражение JSONPath — инструмент покажет, какие элементы оно выбирает.
Всё считается в вашем браузере: введённые данные никуда не отправляются.
Что такое JSONPath
JSONPath — язык запросов к JSON, аналог XPath для XML. Одно выражение позволяет достать из большого ответа API нужные значения: все цены, авторов книг дешевле 10 единиц, последний элемент массива. JSONPath используют в Postman и других тестах API, в Grafana и Zabbix, в n8n, Make и других сервисах автоматизации, в Kubernetes (kubectl -o jsonpath).
Синтаксис
| Выражение | Значение |
|---|---|
$ | корень документа |
.поле или ['поле'] | дочерний элемент |
..поле | поиск поля на любой глубине |
* | все элементы на уровне |
[0], [-1:], [0:3] | индекс и срезы массива |
[?(@.price < 10)] | фильтр по условию; @ — текущий элемент |
[?(@.isbn)] | элементы, у которых есть поле |
Как проверить выражение
Вставьте JSON слева и введите выражение — результат появится справа в виде массива найденных значений. Нажмите «Пример», чтобы загрузить учебный документ, и попробуйте готовые выражения из списка над полем.
Частые вопросы
Почему результат — массив, даже если найден один элемент?
JSONPath всегда возвращает список совпадений: выражение может найти и ноль, и сто элементов. Если совпадение одно, берите первый элемент массива.
Поддерживаются ли фильтры с несколькими условиями?
Да, например [?(@.price < 10 && @.category == "fiction")].
Чем JSONPath отличается от jq?
jq — отдельный язык с преобразованиями и функциями. JSONPath проще и служит только для выборки, зато встроен во множество инструментов.