JSON

JSONPath тестер

Проверка JSONPath-выражений на реальных JSON-данных — мгновенный просмотр найденных значений и путей к ним.

$ — корень · .key / ['key'] — свойство · .. — рекурсивный поиск · [*] — все элементы · [0,1] — индексы · [0:2] — срез · [?(@.price<10)] — фильтр

JSONPath lets you reach into nested JSON values the way XPath does for XML — a compact path string like $.users[0].email instead of manually walking the structure. This tool lets you test an expression against real data and see the result instantly.

How to use it

Common uses

Things to keep in mind

There's no single official JSONPath standard — the basic syntax (dots, brackets, *) is supported the same way everywhere, but filters and more advanced expressions differ between libraries.

Array indexing in JSONPath starts at zero, like in most programming languages — [0] means the first element.

Статья об этом инструменте: JSONPath: как искать данные в JSON без ручного парсинга

Часто задаваемые вопросы

Что на самом деле делает выражение JSONPath вроде $.store.book[*].author?

Оно перемещается по структуре JSON, начиная с корня ($), через ключи store и book, а подстановочный знак [*] выбирает каждый элемент массива book перед чтением поля author у каждого из них.

В чём разница между $.a.b и $..b?

Одна точка обращается к прямому дочернему свойству, а двойная точка (рекурсивный спуск) ищет на любой глубине структуры, находя ключ с именем b везде, где он встречается, а не только как прямого потомка.

Отправляет ли этот инструмент мой JSON куда-либо для вычисления пути?

Нет. Выражение JSONPath вычисляется полностью в вашем браузере — ваши данные никогда не покидают ваше устройство.

Как обратиться к ключу, который содержит точку или пробел?

Через квадратные скобки с кавычками: $['user.name'] вместо $.user.name — иначе парсер прочитает точку как разделитель вложенности, а не часть названия ключа.

Существует ли единый официальный стандарт JSONPath?

Нет. Базовый синтаксис (точки, скобки, звёздочка) поддерживается практически везде одинаково, но фильтры и расширенные выражения отличаются между библиотеками — проверяйте совместимость для сложных выражений.

Статьи: JSON

JSON Formatter: форматирование, минимизация и валидация

Форматирование для читаемости, минимизация для размера, валидация для корректности — три разные задачи с JSON.

JSON Diff: чем структурное сравнение отличается от текстового

Почему порядок ключей не должен влиять на сравнение двух JSON-документов.

JSON Schema: как описать и проверить структуру JSON

Как JSON Schema позволяет автоматически проверить, соответствуют ли данные ожидаемому контракту.

JSON Flatten: превращение вложенной структуры в плоский список

Как глубоко вложенный JSON превращается в плоский список ключей вида user.address.city.

JSON Sort Keys: зачем сортировать ключи объекта

Почему порядок ключей в JSON не регламентирован, но сортировка всё равно бывает полезна.

JSON Repair: почему JSON ломается и как это исправить

Типичные причины «сломанного» JSON и что автоматический ремонт может, а что не может исправить.

Mock JSON Generator: зачем нужны фейковые данные

Как мок-данные позволяют начать разработку интерфейса ещё до того, как готов бекенд.

JSON ↔ YAML/CSV/XML/TOML: когда и зачем конвертировать

Какие данные теряются при конвертации JSON в CSV и почему YAML и TOML популярны для конфигов.