Как пользоваться
- Вставьте JSON слева или оставьте пример.
- Введите выражение сверху или нажмите одно из примеров.
- Совпадения появятся справа при вводе; нажмите «Показать пути», чтобы увидеть расположение в документе.
Описание параметров
- $ и @
- $ — корневой узел, @ — текущий узел внутри фильтра, например [?(@.price < 10)].
- . и ..
- .name выбирает дочерний элемент, а ..name ищет на каждом уровне узлы с именем name.
- [*], [0,1], [-1:]
- Подстановочный знак, несколько индексов и срезы как в Python; отрицательные числа считаются с конца.
- [?(...)]
- Фильтры со сравнениями (== != < <= > >=), логикой (&& || !) и проверкой существования, например [?(@.isbn)].
Частые выражения
| Выражение | Значение |
|---|---|
$.store.book[*].author |
Авторы всех книг |
$..price |
Каждая цена в документе |
$..book[?(@.price < 10)].title |
Названия книг дешевле 10 |
$..book[-1:] |
Последняя книга |
$..book[0,1].title |
Названия первых двух книг |
$..book.length |
Количество книг |
Часто задаваемые вопросы
Какой синтаксис JSONPath поддерживается?
Синтаксис Goessner в реализации jsonpath-plus — стиль, используемый Jayway (Java), большинством онлайн-инструментов и ПО для API-тестирования. В некоторых деталях, например фильтрах, он отличается от RFC 9535 (2024).
Могут ли фильтры выполнять JavaScript?
Нет. Фильтры вычисляются в безопасном режиме, разрешающем только доступ к свойствам, сравнения и логику, без произвольного кода.
Почему результат всегда массив?
Выражение JSONPath может найти несколько узлов, поэтому результат всегда список; одно совпадение — список из одного элемента.
Мой JSON загружается?
Нет. Разбор и запросы выполняются в браузере.
Конфиденциальность
Этот инструмент работает полностью в браузере. Ваши файлы и текст обрабатываются на вашем устройстве и никогда не загружаются на наши серверы.