Песочница запросов JSONPath
Проверяйте запросы JSONPath по RFC 9535 и смотрите каждое совпадение с путём
Вставьте JSON, откройте файл или загрузите пример.
JSONPath по RFC 9535, вычисляется в вашем браузере библиотекой jsonpath-rfc9535 1.3.0 в фоновом процессе.
Связанные инструменты
Что такое Песочница запросов JSONPath?
Песочница для JSONPath по RFC 9535 — стандарту IETF для выбора узлов в JSON-документе. Вставьте JSON, напишите запрос вроде $.store.products[?@.price < 50].name и увидите каждое совпадение с его значением, нормализованным путём и указателем JSON. Используйте её, чтобы писать селекторы для тестов API, инструментов конфигурации, оверлеев OpenAPI или утилит в стиле Kubernetes и точно видеть, какие узлы они выбирают. Чтобы преобразовать или перестроить JSON, используйте Песочница JSON-запросов на основе jq; чтобы найти ключи или значения по тексту — Поиск по JSON.
Поддерживаемый синтаксис
Корень $, имена членов ($.name и $['name']), индексы массивов, включая отрицательные ([0], [-1]), подстановочные знаки ([*] и .*), срезы с необязательным шагом ([1:5], [::-1]), несколько селекторов в одних скобках ([0,2] или ['a','b']), потомки (..name и ..*) и фильтры. Фильтры ([?…]) сравнивают с помощью == != < <= > >=, объединяются через && || ! и скобки и проверяют существование через ?@.member: такая проверка истинна, если член существует, даже если его значение false или null. Доступны пять функций RFC: length(), count(), match(), search() и value(). Каждый пункт в «Примерах синтаксиса» загружает запрос для примера «Каталог магазина».
Регулярные выражения в match() и search()
match() и search() принимают шаблон I-Regexp (RFC 9485) — небольшое совместимое подмножество регулярных выражений. match() должна совпасть со всей строкой, search() ищет шаблон в любом месте. Unicode включён по умолчанию, а точка совпадает с любым символом, кроме переводов строки. Обратные ссылки, опережающие и ретроспективные проверки, ленивые квантификаторы и флаги не входят в I-Regexp; избегайте их, потому что другие реализации JSONPath отклоняют или игнорируют их.
Нормализованные пути и указатели JSON
Для каждого совпадения показан нормализованный путь — каноническая форма RFC 9535, например $['store']['products'][0]['name'], где апострофы, обратные косые черты и управляющие символы в именах членов экранируются. Также показан соответствующий указатель JSON по RFC 6901, например /store/products/0/name, где ~ превращается в ~0, а / — в ~1; весь документ — это пустой указатель. Используйте пути в тестах, а указатели — в операциях JSON Patch или значениях $ref.
Ограничения и конфиденциальность
Запрос выполняется в фоновом процессе в вашем браузере; ничего не загружается и не сохраняется, запоминается только выбранный вид результатов. Ввод до 256 КБ перезапускается по мере набора; более крупный ввод до 10 МБ выполняется по кнопке «Запустить», а каждый запуск останавливается через 15 секунд. Список показывает первые 2 000 совпадений, тогда как счётчик и копирование всех включают каждое совпадение. Инструмент только выбирает узлы и не преобразует данные. Старые нестандартные расширения, такие как скриптовые выражения или оператор ключа ~, отклоняются как синтаксические ошибки, а @.length читает член с именем length (для размера используйте length(@)). Числа за пределами точности JavaScript показываются ближайшим представимым значением.
