Извлекатель JSON-путей

Позволяет запрашивать JSON через выражения в стиле JSONPath или JMESPath, просматривать совпавшие пути и подсвечивать извлеченные значения в исходном документе

Примеры результатов

2 Примеры

Извлечь имена администраторов через фильтры JSONPath

Выбирает подходящие объекты и поля из ответа API и показывает их в подсвеченном JSON

Expressions: 2, Matches: 2, highlighted JSON with $.users[0] and $.users[0].name
Показать параметры ввода
{ "jsonInput": "{\n \"users\": [\n { \"name\": \"Ada\", \"role\": \"admin\", \"score\": 9 },\n { \"name\": \"Linus\", \"role\": \"editor\", \"score\": 6 }\n ]\n}", "queryExpressions": "$.users[?(@.role == \"admin\")]\n$.users[*].name", "queryEngine": "jsonpath", "displayMode": "highlighted-json", "flattenArrays": true, "includeNullValues": false, "maxMatches": 20 }

Обходить вложенные массивы синтаксисом в стиле JMESPath

Использует подстановки и сравнительные фильтры для извлечения дорогих позиций из вложенных заказов

Matches: $.orders[0].items[1].sku, $.orders[1].items[0].sku
Показать параметры ввода
{ "jsonInput": "{\n \"orders\": [\n { \"id\": 1, \"items\": [{ \"sku\": \"A1\", \"price\": 9 }, { \"sku\": \"B2\", \"price\": 19 }] },\n { \"id\": 2, \"items\": [{ \"sku\": \"C3\", \"price\": 24 }] }\n ]\n}", "queryExpressions": "orders[*].items[?price >= 19][*].sku", "queryEngine": "jmespath", "displayMode": "match-list", "flattenArrays": true, "includeNullValues": false, "maxMatches": 10 }

Use one expression per line. Supports field access, array indexes, wildcards, and simple filters.

Ключевые факты

Категория
Данные и таблицы
Типы входных данных
textarea, select, checkbox, number
Тип результата
html
Покрытие примерами
4
API доступен
Yes

Обзор

Извлекатель JSON-путей — это удобный инструмент для тестирования и отладки запросов к JSON-документам. Он позволяет использовать синтаксис JSONPath или JMESPath для извлечения нужных данных, фильтрации массивов и поиска вложенных объектов. Результаты отображаются в виде списка совпадений или подсвечиваются прямо в исходном коде, что упрощает визуальный анализ сложных структур данных и объемных ответов API.

Когда использовать

  • Когда нужно быстро протестировать выражения JSONPath или JMESPath перед их использованием в программном коде.
  • Для извлечения конкретных значений, таких как идентификаторы или email-адреса, из многоуровневых ответов REST API.
  • При отладке сложных вложенных JSON-структур для визуального поиска нужных узлов и массивов.

Как это работает

  • Вставьте ваш JSON-документ в поле ввода.
  • Выберите движок запросов (JSONPath или JMESPath) и введите одно или несколько выражений, каждое с новой строки.
  • Настройте параметры отображения: подсветка в исходном JSON (Highlighted JSON) или вывод в виде отдельного списка совпадений (Match List).
  • Инструмент обработает запрос и мгновенно покажет извлеченные данные согласно заданным лимитам и фильтрам.

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

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

Примеры

1. Извлечение данных администраторов из ответа API

Backend-разработчик
Контекст
Разработчик получает список пользователей от микросервиса авторизации и хочет проверить, правильно ли возвращаются роли.
Проблема
Нужно быстро найти всех пользователей с ролью «admin» и извлечь их имена без написания скрипта.
Как использовать
Вставьте JSON с пользователями, выберите движок JSONPath и введите выражение для фильтрации по роли.
Пример конфигурации
$.users[?(@.role == "admin")]
$.users[*].name
Результат
Инструмент подсветит объекты администраторов и их имена прямо в исходном JSON-коде.

2. Поиск дорогих товаров во вложенных заказах

Аналитик данных
Контекст
Аналитик выгрузил массив заказов интернет-магазина, где каждый заказ содержит массив купленных товаров с ценами.
Проблема
Необходимо получить список артикулов (SKU) всех товаров, цена которых превышает 19 долларов.
Как использовать
Вставьте выгрузку заказов, переключите движок на JMESPath, выберите режим «Match List» и введите запрос с фильтром по цене.
Пример конфигурации
orders[*].items[?price >= 19][*].sku
Результат
Инструмент вернет плоский список артикулов, соответствующих условию, игнорируя дешевые товары.

Проверить на примерах

json

Связанные хабы

FAQ

В чем разница между JSONPath и JMESPath?

JSONPath отлично подходит для глубокого поиска и фильтрации с использованием символа $, тогда как JMESPath предлагает более мощные возможности для проекции и трансформации данных.

Можно ли использовать несколько выражений одновременно?

Да, вы можете ввести несколько выражений, каждое с новой строки. Инструмент обработает их все и покажет совокупный результат.

Что делает опция «Разворачивать массивы»?

Она преобразует вложенные массивы результатов в единый плоский список, что значительно упрощает чтение извлеченных данных.

Есть ли ограничение на количество совпадений?

По умолчанию отображается до 30 совпадений, но вы можете увеличить этот лимит до 200 в настройках инструмента.

Поддерживается ли извлечение значений null?

Да, по умолчанию значения null игнорируются, но вы можете включить их отображение, отметив опцию «Включать null».

Документация API

Конечная точка запроса

POST /ru/api/tools/json-path-extractor

Параметры запроса

Имя параметра Тип Обязательно Описание
jsonInput textarea Да -
queryExpressions textarea Нет Use one expression per line. Supports field access, array indexes, wildcards, and simple filters.
queryEngine select Нет -
displayMode select Нет -
flattenArrays checkbox Нет -
includeNullValues checkbox Нет -
maxMatches number Нет -

Формат ответа

{
  "result": "
Processed HTML content
", "error": "Error message (optional)", "message": "Notification message (optional)", "metadata": { "key": "value" } }
HTML: HTML

Документация MCP

Добавьте этот инструмент к конфигурации сервера MCP:

{
  "mcpServers": {
    "elysiatools-json-path-extractor": {
      "name": "json-path-extractor",
      "description": "Позволяет запрашивать JSON через выражения в стиле JSONPath или JMESPath, просматривать совпавшие пути и подсвечивать извлеченные значения в исходном документе",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=json-path-extractor",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Вы можете объединять несколько инструментов, например: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, максимум 20 инструментов.

Если вы столкнулись с проблемами, пожалуйста, свяжитесь с нами по адресу [email protected]