JSONPath онлайн: проверить выражение на своём JSON
Checkcraft — программа для проверки API и логов без кода, есть бесплатная версия. Скачать без регистрации →
Выражение для Zabbix, автотеста или выгрузки не работает, а почему, непонятно. Подставьте его здесь и посмотрите, что именно оно находит.
Что поддерживается
Корень $, поля через точку и в кавычках, элементы массива по номеру, в том числе отрицательному, звёздочка, рекурсивный спуск .., срезы [начало:конец:шаг], перечисления [0,2] и фильтры ?(...) со сравнениями ==, !=, <, <=, >, >=, операторами &&, || и ! и проверкой наличия поля. В фильтре можно ссылаться на текущий элемент через @ и на корень через $.
$.items[*].sku
$..amount
$.items[-1]
$.items[0:2]
$.items[?(@.amount > 1000)].sku
$.items[?(@.tags && @.amount < 1000)]Почему в другой системе выражение ведёт себя иначе
JSONPath долго развивался без стандарта, и библиотеки расходятся в деталях: функциях вроде length(), регулярных выражениях в фильтрах и порядке результатов. Стандарт RFC 9535 появился в 2024 году. Здесь реализована общая часть синтаксиса; если ваше выражение использует функции конкретной библиотеки, сверяйтесь с её документацией.
Путь для проверки ответа API
В правилах Checkcraft используется тот же путь без $ в начале: items[0].amount или items[*].amount для всех элементов. Найдя нужное выражение здесь, его можно перенести в проверку ответа. Проверка выполняется скриптом в вашем браузере, страница ничего не отправляет на сервер.
Повторите это на своём API
Checkcraft — настольная программа: сохраняет проверки ответа API без кода и показывает, что не совпало. Начните с учебного примера, затем подставьте свои обезличенные данные. Free работает на Windows и Linux без ограничения срока.
Скачать FreeКак получить и запустить приложениеСкачивание без регистрации и почты, архив готов за пару минут. Состав бесплатной версии опубликован на странице тарифов.
Документация
Начните с примера по ссылкам и сопоставьте результат с требованием своей проверки.