Категории

Студия запросов и преобразований JSONata

Просматривайте запросы и преобразования в стиле JSONata, сравнивайте результаты и экспортируйте JSON, CSV, YAML или Markdown.

Вставьте JSON-объект или массив в поле "Ввод JSON", а затем укажите выражение в "Выражение JSONata".

Как заполнять поля:

  • Ввод JSON: основной JSON-пейлоад для запроса или преобразования
  • Выражение JSONata: стандартное выражение JSONata или helper-форма вроде groupBy(orders, "status")
  • Сравниваемый JSON: необязательный второй пейлоад, который вычисляется тем же выражением для бокового сравнения
  • Формат вывода: отображает результат как JSON, CSV, YAML или Markdown
  • Сохранить выражение: сохраняет текущее выражение в локальную историю
  • Имя шаблона: необязательное имя, отображаемое в истории выражений

Поддерживаемые стили выражений:

  • Стандартный JSONata, например $sum(orders.total) или orders[status="paid"]
  • Helper-функции студии без префикса $:
  • groupBy(collection, "field.path")
  • mapField(collection, "field.path")
  • flatten(collection)
  • distinct(collection)
  • count(collection)
  • sum(collection)
  • avg(collection)
  • keys(object)

Примеры:

  • Ввод JSON: {"orders":[{"id":1,"status":"paid","total":120},{"id":2,"status":"pending","total":40}]}
  • Выражение: groupBy(orders, "status")
  • Выражение: sum(orders.total)
  • Выражение: orders[status="paid"]

Примечания:

  • Инструмент использует реальный runtime jsonata и предварительно преобразует helper-имена в вызываемые функции.
  • Сравниваемый JSON необязателен, но полезен для проверки одной и той же трансформации на двух API-ответах или фикстурах.

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

1 Примеры

Сгруппировать заказы по статусу и экспортировать результат

Одним выражением сравните распределение статусов в двух снимках данных.

groupBy result preview
Показать параметры ввода
{ "jsonInput": "{\"orders\":[{\"id\":1,\"status\":\"paid\",\"total\":120},{\"id\":2,\"status\":\"pending\",\"total\":40}]}", "expression": "groupBy(orders, \"status\")", "outputFormat": "json" }

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

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

Обзор

Студия запросов и преобразований JSONata — это мощный инструмент для извлечения, фильтрации и трансформации данных из JSON-документов. С его помощью вы можете тестировать выражения JSONata в реальном времени, сравнивать результаты обработки двух разных наборов данных и мгновенно экспортировать готовый результат в форматы JSON, CSV, YAML или Markdown.

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

  • Когда нужно быстро отфильтровать или сгруппировать сложные вложенные структуры JSON без написания скриптов.
  • Для сравнения результатов одного и того же запроса JSONata на двух разных наборах данных.
  • При необходимости конвертировать специфическую выборку данных из JSON в табличный формат CSV или читаемый YAML/Markdown.

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

  • Вставьте исходный код в поле «Ввод JSON» и, при необходимости, второй набор данных в «Сравниваемый JSON».
  • Напишите правило выборки или трансформации в поле «Выражение JSONata».
  • Выберите желаемый формат вывода (JSON, CSV, YAML или Markdown).
  • Инструмент мгновенно применит выражение и отобразит результат, который можно сохранить как шаблон для будущего использования.

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

Извлечение списка email-адресов и имен пользователей из глубоко вложенного отчета API для последующей рассылки.
Агрегация данных о продажах (например, подсчет общей суммы оплаченных заказов) и экспорт результатов в Markdown для вставки в документацию.
Трансформация конфигурационных файлов из формата JSON в YAML для использования в системах CI/CD.

Примеры

1. Группировка заказов по статусу

Аналитик данных
Контекст
Аналитик получает выгрузку всех заказов за день в формате JSON, где статусы перемешаны.
Проблема
Нужно быстро сгруппировать заказы по статусу (оплачен, в ожидании) и получить результат в виде структурированного JSON.
Как использовать
Вставьте массив заказов в «Ввод JSON», введите `groupBy(orders, "status")` в поле выражения и выберите формат вывода JSON.
Пример конфигурации
{"outputFormat": "json"}
Результат
Данные реструктурируются в объект, где ключами выступают статусы заказов, а значениями — массивы соответствующих транзакций.

2. Конвертация списка пользователей в CSV

Маркетолог
Контекст
Маркетологу передали JSON-ответ от сервера с данными пользователей, из которого нужны только имена и email-адреса для загрузки в CRM.
Проблема
Извлечь конкретные поля из сложного JSON и преобразовать их в плоскую таблицу.
Как использовать
Вставьте JSON с пользователями, напишите выражение для извлечения нужных полей (например, `users.{"name": name, "email": contact.email}`) и выберите формат вывода CSV.
Пример конфигурации
{"outputFormat": "csv"}
Результат
Инструмент извлекает только нужные поля и генерирует готовый CSV-файл, который можно сразу импортировать в CRM.

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

json, csv, yaml

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

FAQ

Что такое JSONata?

JSONata — это легковесный язык запросов и преобразований, специально созданный для извлечения и структурирования данных из JSON-документов.

Какие форматы экспорта поддерживаются?

Вы можете экспортировать результаты трансформации в форматы JSON, CSV, YAML и Markdown.

Можно ли сравнить два разных JSON-файла?

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

Как сохранить часто используемое выражение?

Отметьте чекбокс «Сохранить выражение» и укажите «Имя шаблона», чтобы быстро применять этот запрос в будущем.

Подходит ли инструмент для конвертации JSON в CSV?

Да, если вы извлекаете плоский массив объектов с помощью JSONata, выбор формата вывода CSV автоматически преобразует эти данные в таблицу.

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

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

POST /ru/api/tools/jsonata-query-transform-studio

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

Имя параметра Тип Обязательно Описание
jsonInput textarea Да -
expression textarea Да -
compareJsonInput textarea Нет -
outputFormat select Нет -
saveExpression checkbox Нет -
templateName text Нет -

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

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

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

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

{
  "mcpServers": {
    "elysiatools-jsonata-query-transform-studio": {
      "name": "jsonata-query-transform-studio",
      "description": "Просматривайте запросы и преобразования в стиле JSONata, сравнивайте результаты и экспортируйте JSON, CSV, YAML или Markdown.",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=jsonata-query-transform-studio",
      "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]