JSON
JSONPath тестер
Проверка JSONPath-выражений на реальных JSON-данных — мгновенный просмотр найденных значений и путей к ним.
$ — корень · .key / ['key'] — свойство · .. — рекурсивный поиск · [*] — все элементы · [0,1] — индексы · [0:2] — срез · [?(@.price<10)] — фильтр
—
JSONPath позволяет обращаться к вложенным значениям в JSON так же, как XPath работает для XML, — компактной строкой-путём вроде $.users[0].email вместо ручного обхода структуры. Инструмент позволяет проверить выражение на реальных данных и сразу увидеть результат.
Как пользоваться
- Вставьте JSON-данные в одно поле, JSONPath-выражение — во второе.
- Результат показывает все найденные значения вместе с точным путём к каждому, даже если совпадений несколько.
- Используйте [*] для перебора всех элементов массива или фильтры [?(@.price > 100)] для условного отбора.
Типичные сценарии
- Подбор правильного JSONPath-выражения для извлечения конкретного поля из ответа API перед вставкой в код.
- Тестирование правил трансформации данных или маршрутизации сообщений, опирающихся на JSONPath (например, в AWS Step Functions или API Gateway).
- Быстрый поиск значения в большом и глубоко вложенном JSON-документе без ручного пролистывания.
Что стоит помнить
Единого официального стандарта JSONPath не существует — базовый синтаксис (точки, скобки, *) поддерживается везде одинаково, но фильтры и более сложные выражения отличаются между библиотеками.
Индексация массивов в JSONPath начинается с нуля, как и в большинстве языков программирования — [0] означает первый элемент.
Статья об этом инструменте: JSONPath: как искать данные в JSON без ручного парсинга
Часто задаваемые вопросы
Что на самом деле делает выражение JSONPath вроде $.store.book[*].author?
Оно перемещается по структуре JSON, начиная с корня ($), через ключи store и book, а подстановочный знак [*] выбирает каждый элемент массива book перед чтением поля author у каждого из них.
В чём разница между $.a.b и $..b?
Одна точка обращается к прямому дочернему свойству, а двойная точка (рекурсивный спуск) ищет на любой глубине структуры, находя ключ с именем b везде, где он встречается, а не только как прямого потомка.
Отправляет ли этот инструмент мой JSON куда-либо для вычисления пути?
Нет. Выражение JSONPath вычисляется полностью в вашем браузере — ваши данные никогда не покидают ваше устройство.
Как обратиться к ключу, который содержит точку или пробел?
Через квадратные скобки с кавычками: $['user.name'] вместо $.user.name — иначе парсер прочитает точку как разделитель вложенности, а не часть названия ключа.
Существует ли единый официальный стандарт JSONPath?
Нет. Базовый синтаксис (точки, скобки, звёздочка) поддерживается практически везде одинаково, но фильтры и расширенные выражения отличаются между библиотеками — проверяйте совместимость для сложных выражений.