Песочница запросов JSONPath

Проверяйте запросы JSONPath по RFC 9535 и смотрите каждое совпадение с путём

Ввод

0 B из 10 МБ

Запрос

Начинается с $. Ctrl/⌘+Enter запускает запрос.

Результаты

Запустите запрос, чтобы увидеть совпадения здесь.

Вставьте 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 показываются ближайшим представимым значением.

CodingTool официально запущен на

Launched on StartupBaseCodingTool.dev - Free, Fast & Easy Developer Tools in One Place | Product HuntCodingTool - Featured on Startup FameFazier badgeListed on Turbo0Featured on Twelve ToolsFeatured on Findly.toolsLaunchpadly Startup DirectoryCodingTool.dev — Featured on Smol Launch