JSONPath Evaluator онлайн

Проверьте выражение JSONPath на вашем JSON и смотрите совпадения вживую, прямо в браузере. Ваши данные остаются на устройстве.

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

Сначала нужно прочитать всё дерево? Попробуйте просмотрщик JSON.

Об инструменте JSONPath Evaluator

Этот JSONPath evaluator позволяет запрашивать документ JSON выражением JSONPath и наблюдать, как совпадения обновляются по мере ввода. Вставьте любой объект или массив JSON, введите путь вроде $.store.book[*].author, $..price или $.items[?(@.active)], и инструмент покажет, сколько узлов совпало, совпавшие значения как красиво выведенный JSON и переключатель для просмотра JSON Pointer вместо них. Как тестер JSONPath он поддерживает весь синтаксис: корень $, доступ к потомкам через точку и скобки, оператор рекурсивного спуска .., подстановочные знаки [*], срезы массивов, объединения и фильтрующие выражения с @ и сравнениями. Нажмите на любое из примеров выражений, чтобы вставить его в поле запроса. Некорректный JSON и сломанные пути выдают понятную ошибку, а не пустой экран. Всё работает в вашем браузере, поэтому вычисляемый JSON остаётся на устройстве.

Возможности

Как использовать JSONPath Evaluator

  1. Вставьте или введите ваш JSON на панели JSON слева.
  2. Введите выражение JSONPath в поле запроса или нажмите на один из примеров.
  3. Прочитайте совпавшие значения справа и проверьте количество совпадений над ними.
  4. Переключитесь на «Пути», чтобы увидеть JSON Pointer для каждого совпадения, затем скопируйте результаты.

Пример

Ввод

$.store.book[?(@.price < 10)].title

Результат

[
  "Sayings of the Century",
  "Moby Dick"
]

Фильтрующее выражение оставляет только книги дешевле 10, затем проецирует каждый заголовок.

Частые ошибки и устранение неполадок

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

В чём разница между $.. и $. в JSONPath?
$. следует по точному пути уровень за уровнем от корня, поэтому $.store.book совпадает только с ключом book непосредственно под store. $.. — это оператор рекурсивного спуска: $..book находит каждый ключ book на любой глубине документа. Используйте $.., когда не уверены, где находится поле.
Поддерживает ли этот JSONPath evaluator фильтрующие выражения?
Да. Фильтры используют синтаксис [?(...)], где @ — это текущий узел, например $.items[?(@.active)] или $.store.book[?(@.price < 10)]. Вы можете сравнивать числа, строки и булевы значения и комбинировать условия через && и ||.
Что показывает переключатель «Пути»?
Он возвращает JSON Pointer для каждого совпадения вместо значения — строку вроде /store/book/0/author, которая указывает узел в документе. Указатели полезны, когда нужно знать, где находится значение, а не только что это.
Почему моё выражение совпадает с большим числом результатов, чем я ожидал?
Подстановочные знаки и рекурсивный спуск жадные: [*] совпадает с каждым элементом массива или каждым свойством объекта, а $.. обходит всё дерево. Сузьте результат конкретным ключом, индексом, срезом массива вроде [0:2] или фильтром.
Можно ли выбрать несколько элементов массива сразу?
Да. Используйте объединение вроде [0,2] для выбора конкретных индексов или срез вроде [1:3] для диапазона и [-1:] для последнего элемента. Оба работают на любом массиве, достижимом по пути.
Отправляется ли куда-либо мой JSON при выполнении запроса?
Нет. Выражение вычисляется полностью в вашем браузере, поэтому вставленный JSON и выполняемые запросы обрабатываются локально на вашем устройстве и не загружаются.

Связанные инструменты

Все инструменты ArrayKit