Перейти к контенту
SPCX Tools

Тестер JSONPath

Мгновенно тестируйте и выполняйте выражения JSONPath для ваших JSON-данных прямо в браузере.

Работает локально — файлы не покидают ваше устройство

Загрузка инструмента…

Как использовать Тестер JSONPath

  1. 1Вставьте или введите ваши JSON-данные в левую панель ввода, либо нажмите "Пример", чтобы загрузить демонстрационные данные.
  2. 2Введите выражение JSONPath в поле ввода в верхней части страницы.
  3. 3Нажмите на любую кнопку с быстрым примером под полем ввода, чтобы увидеть популярные шаблоны запросов в действии.
  4. 4В правой панели просматривайте найденные результаты, общее количество совпадений и точные пути к соответствующим элементам.

Быстрый и приватный тестер JSONPath

При работе с большими или глубоко вложенными JSON-данными извлечение нужной информации может быть утомительным. Этот тестер JSONPath предоставляет интерактивную среду для написания, проверки и отладки запросов. По мере ввода выражения инструмент мгновенно применяет его к вашему JSON, показывая как извлеченные значения, так и точные пути к ним.

Поскольку этот инструмент для проверки JSONPath работает полностью на стороне клиента, вся обработка происходит локально на вашем устройстве. Ваши JSON-данные никогда не отправляются на сервер. Это значит, что вы можете безопасно вставлять данные с продакшен-API, дампы баз данных или конфиденциальные конфигурационные файлы, не беспокоясь об утечке данных или нарушении приватности.

Основные возможности для разработчиков

  • Проверка в реальном времени: Результаты обновляются мгновенно при изменении JSON-данных или запроса. Не нужно нажимать кнопку отправки или ждать ответа от сервера.
  • Безопасный парсинг: Инструмент использует безопасный механизм выполнения (eval: 'safe') для обработки запросов, предотвращая запуск вредоносного кода, но при этом полностью поддерживая сложные выражения фильтрации.
  • Извлечение путей: Помимо найденных значений, инструмент генерирует абсолютные пути для каждого совпадения. Это очень удобно, если позже вам потребуется программно обновить эти конкретные узлы.
  • Встроенные примеры: Если вы еще не знакомы с синтаксисом, вы можете загрузить тестовый набор данных книжного магазина и переключаться между готовыми выражениями, чтобы понять, как работают различные операторы.

Как написать запрос JSONPath

JSONPath использует специальный синтаксис для навигации по объектам и массивам JSON. Если вы хотите проверить логику выражений JSONPath, полезно знать базовые операторы:

  • $ обозначает корневой объект или массив. Любое абсолютное выражение JSONPath начинается с этого символа.
  • @ обозначает текущий обрабатываемый узел. Чаще всего используется внутри выражений фильтрации.
  • . или [] — операторы дочерних элементов для выбора свойств. Например, $.store.book и $['store']['book'] делают одно и то же.
  • .. — оператор рекурсивного спуска. Он ищет заданный ключ в любом месте дерева JSON, независимо от глубины вложенности (например, $..price найдет все цены).
  • * — символ подстановки, который соответствует всем элементам объекта или массива. Например, $.store.* выбирает все элементы непосредственно внутри объекта store.
  • [?()] применяет выражение фильтрации. Внутри него можно использовать стандартные логические операторы. Например, $..book[?(@.author == 'Nigel Rees')] найдет все книги этого автора.
  • [start:end:step] позволяет делать срезы массивов, как в Python. $.store.book[-1:] выберет последнюю книгу в массиве.

Основные сценарии использования

Разработка и отладка API. Современные REST и GraphQL API часто возвращают объемные JSON-ответы. Вместо написания временного кода для парсинга и проверки ответа, вы можете вставить данные в этот онлайн-инструмент JSONPath, чтобы быстро убедиться в правильности структуры и в том, что ваши запросы извлекают нужные поля.

Автоматизированное тестирование. При написании интеграционных или e2e-тестов (с использованием таких инструментов, как Postman, RestAssured или Playwright) часто нужно проверять наличие определенных значений в JSON-ответе. Использование JSONPath-тестера помогает отладить строку запроса перед ее добавлением в автотесты.

Извлечение и преобразование данных. При миграции данных или построении ETL-процессов (Extract, Transform, Load) часто требуется выделить определенные массивы или объекты. С помощью этого инструмента можно определить точные пути для извлечения целевых данных. Если исходные данные в формате XML, сначала воспользуйтесь конвертером XML в JSON, а если перед проверкой нужно отформатировать минифицированный код, вам поможет JSON-форматтер. Вы также можете использовать инструмент Сравнение JSON, чтобы увидеть, как изменились данные до и после преобразований.

Частые вопросы

Что такое JSONPath?
JSONPath — это язык запросов к JSON-данным, аналогичный XPath для XML. Он позволяет находить и извлекать нужные узлы, массивы или значения из сложной структуры JSON с помощью коротких строковых выражений.
Мои JSON-данные в безопасности?
Да. Инструмент работает исключительно локально в вашем браузере. Ваши JSON-данные и запросы никуда не отправляются, поэтому вы можете безопасно тестировать конфиденциальные ответы API, конфигурационные файлы или закрытые данные.
Как отфильтровать данные по определенному условию?
Используйте выражение фильтрации с синтаксисом [?(@.property == 'value')]. Например, $.store.book[?(@.price < 10)] вернет все книги из массива store, цена которых меньше 10.
Можно ли увидеть точное расположение найденных элементов?
Да. Под основным полем с результатами есть раскрывающийся раздел "Paths". В нем отображается точный абсолютный путь JSONPath для каждого найденного элемента.
Почему появляется ошибка "Invalid JSON"?
Формат JSON требует строгого соблюдения синтаксиса. Убедитесь, что все ключи и строковые значения заключены в двойные кавычки (а не одинарные), и что после последнего элемента в объекте или массиве нет лишней запятой.
Какую спецификацию JSONPath использует этот инструмент?
Этот инструмент использует популярную библиотеку jsonpath-plus, которая полностью поддерживает оригинальную спецификацию JSONPath, добавляя при этом несколько безопасных расширенных функций для более сложных запросов. Она безопасно вычисляет выражения без использования функции JavaScript eval().