JSON Path Finder Онлайн
Кликните на любое значение JSON и мгновенно получите его путь. Бесплатно, в браузере.
Click any path to copy
Для чего это нужно
Находите JSON-пути одним кликом
Совместим с JSONPath и jq
Сгенерированные пути валидны в стандартном JSONPath, jq, jsonata и большинстве библиотек работы с JSON.
100% приватно
Ваш JSON обрабатывается в браузере. Никогда не отправляется на серверы. Безопасно для JSON с внутренними API-данными.
Интерактивное визуальное дерево
JSON отображается в виде дерева с цветовой кодировкой по типам (string, number, boolean, array, object) для удобной навигации.
Мгновенно
Путь появляется в момент клика. Никаких форм, кнопок и ожидания.
Как это работает
Три шага — никаких сложностей
Вставьте ваш JSON
Введите JSON, который нужно исследовать. Инструмент валидирует его и отображает дерево интерактивно с цветовой кодировкой по типам.
Нажмите на любое значение
Кликните на любой ключ или значение в JSON. Инструмент мгновенно вычисляет и отображает полный путь в точечной нотации и синтаксисе JSONPath.
Скопируйте путь
Скопируйте сгенерированный путь (например, `data.users[0].address.city`) для использования в коде, jq-запросах или API-инструментах.
FAQ
Остались вопросы?
JSON-путь — это последовательность ключей и/или индексов массива, необходимая для доступа к конкретному значению во вложенной JSON-структуре. Например, в `{"user": {"name": "Alice"}}` путь к имени будет `user.name` в точечной нотации или `$.user.name` в синтаксисе JSONPath. Пути необходимы для программного извлечения значений, настройки бизнес-правил на основе JSON-данных и написания запросов трансформации данных.
JSONPath — язык запросов для JSON, аналогичный XPath для XML, предложенный Стефаном Гёсснером в 2007 году. Знак `$` представляет корень документа. Точка `.` обращается к свойству объекта: `$.store.book`. Скобки `[]` обращаются к индексам массива: `$.users[0]`. Рекурсивные запросы используют `..`: `$..name` возвращает все поля `name` на любом уровне. Фильтры выражаются как `[?(@.price < 10)]`.
JSON-пути имеют множество практических применений: (1) Отладка API — точное определение местоположения значения в большом ответе; (2) jq-запросы — `jq '.data.users[0].name'` для извлечения значений в терминале; (3) Извлечение конфигурации — скрипты, читающие значения из сложных JSON-конфигов; (4) Трансформации данных с такими инструментами, как JSONata или jolt; (5) Правила валидации в JSON Schema, ссылающиеся на конкретные поля.
Массивы в JSON индексируются с нуля. Первый элемент — `[0]`, второй — `[1]` и так далее. В JSONPath `$.items[0]` обращается к первому элементу, `$.items[-1]` — к последнему (в реализациях, поддерживающих отрицательные индексы), а `$.items[0,2]` — к элементам с индексами 0 и 2. Для доступа ко всем элементам массива используется подстановочный знак: `$.items[*]`.
Инструмент обрабатывает JSON любой глубины вложенности. Однако для чрезвычайно глубоких JSON или содержащих тысячи узлов отрисовка интерактивного дерева может замедляться на устройствах с ограниченными ресурсами. На практике большинство REST API и конфигурационных файлов имеют менее 10 уровней вложенности, с которыми инструмент работает без проблем.
JSONPath: спецификация Стефана Гёсснера 2007 года, RFC 9535, jq и отладка REST API
JSONPath был предложен Стефаном Гёсснером в 2007 году как язык запросов для JSON, аналогичный XPath для XML. В отличие от XPath, JSONPath не был формально стандартизирован вплоть до RFC 9535 (2024). Многочисленные реализации на разных языках (Jayway на Java, jsonpath на Python, jsonpath-ng, jp на Go) переняли слегка отличающиеся вариации исходной спецификации. RFC 9535 наконец унифицировал синтаксис, обеспечив согласованное поведение в разных реализациях.
jq — наиболее популярный инструмент командной строки для обработки JSON, созданный Стивеном Доланом в 2012 году. Он работает как потоковый процессор: получает JSON через stdin, применяет фильтр (путевое выражение и преобразование) и выводит JSON через stdout. Команды вида `curl https://api.example.com/users | jq '.[0].email'` позволяют извлекать значения из API-ответов прямо в терминале. Синтаксис доступа по путям в jq очень похож на JSONPath, хотя и имеет отличия в работе с массивами и фильтрами.
В современной разработке REST API отладка сложных JSON-ответов — ежедневная задача. Такие инструменты, как Postman, Insomnia и Bruno, позволяют писать JSONPath-выражения для извлечения значений из ответов в тестах и предварительных скриптах. AWS использует JSONPath в Step Functions для извлечения данных между шагами рабочего процесса. Kubernetes использует JSONPath в kubectl с флагом `--jsonpath` для извлечения полей из объектов кластера. Знание точных путей к полям в сложном JSON — фундамент эффективной работы с API и структурированными данными.