← Инструменты

Тестер JSONPath

Вставьте JSON, напишите выражение JSONPath и посмотрите, что оно выбирает.

Приватно: ваши файлы не покидают ваше устройство.

Результат

Шпаргалка по JSONPath
СинтаксисЧто выбирает
$Весь документ (корень)
.name ['name']Поле по имени (имена с пробелами или символами берите в кавычки)
[0] [-1]Элемент списка по позиции, с начала или с конца
[0:3] [::2] [::-1]Срез: start:end:step (end не включается)
* [*]Все поля или элементы
..name ..*Поиск на любой глубине
[0,2] ['a','b']Несколько сразу
[?@.price < 10]Фильтр: элементы, для которых условие истинно (@ — текущий элемент)
== != < <= > >=Сравнение чисел, текста, true, false и null
&& || ! ( )И, или, не, группировка
[?@.isbn]Элементы, у которых есть это поле
length(@.tags)Длина текста, списка или объекта
count(@.*)Сколько узлов находит запрос
match(@.id, 'A-[0-9]+')Весь текст соответствует регулярному выражению
search(@.name, 'smith')Текст где-то содержит совпадение
value(@..price)Единственное значение, которое находит запрос

Этот инструмент следует стандарту JSONPath (RFC 9535) и проходит его официальный набор тестов. Скриптовые выражения вроде (@.length-1) и =~ из старых инструментов в стандарт не входят: сообщение об ошибке подскажет, как написать по стандарту.

Результаты обновляются по мере ввода. Большие числа сохраняют все цифры. Всё происходит на вашем устройстве: ничего из вставленного не загружается.

Как это работает

  1. Выберите файлы.
  2. При желании измените настройки.
  3. Скачайте результат или отправьте его на другое устройство через BroAllDone.

Частые вопросы

Что такое JSONPath?

Краткий способ выбирать значения из JSON, например $.store.book[0].title. $ — это весь документ, точка или [ ] ведут в поле или список, а .. ищет на любой глубине. Его используют многие API, базы данных и инструменты вроде kubectl и Postman.

Как фильтровать элементы в JSONPath?

Используйте ? с условием, где @ — текущий элемент: $..book[?@.price < 10] вернёт книги дешевле 10. Объединяйте условия через && и ||, а для отрицания используйте !.

Какой синтаксис JSONPath использует этот инструмент?

Официальный стандарт RFC 9535 — инструмент проходит его набор тестов на соответствие. Поддерживаются фильтры, срезы, функции length(), count(), match(), search() и value(), а также нормализованные пути.

Почему не работает выражение из другого инструмента?

В старых инструментах были расширения вроде (@.length-1), =~ или in, которых нет в стандарте. Сообщение об ошибке подскажет стандартный вариант, например [-1] для последнего элемента или match() для регулярного выражения.

Как получить путь к каждому совпадению?

В пункте «Показать» выберите «Пути» или «Пути и значения». Пути бывают нормализованными ($['store']['book'][0]) или через точку ($.store.book[0]).

Мой JSON куда-то загружается?

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

Другие бесплатные инструменты