Категории

Трассировщик происхождения JSON-данных

Отслеживает пути JSON-полей, производные зависимости и историю преобразований

Подходит для ETL, API и анализа маппинга полей. Можно объединять исходный JSON с правилами производных полей.

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

1 Примеры

Отследить происхождение полей в ответе API

Сначала перечисляет все JSON-пути, затем накладывает явные ETL-правила для отслеживания суммы и отображаемых полей

{
  "summary": {
    "fieldCount": 9,
    "derivedFieldCount": 2
  },
  "graph": {
    "nodes": [
      {
        "id": "$.order.totalUsd"
      }
    ]
  }
}
Показать параметры ввода
{ "sourceJson": "{\n \"order\": {\n \"id\": \"ORD-1001\",\n \"customer\": {\n \"firstName\": \"Ada\",\n \"lastName\": \"Lovelace\"\n },\n \"totalCents\": 2599\n }\n}", "lineageRulesJson": "{\n \"rules\": [\n {\n \"target\": \"$.order.totalUsd\",\n \"sources\": [\n \"$.order.totalCents\"\n ],\n \"transforms\": [\n \"divide_by_100\",\n \"round(2)\"\n ]\n },\n {\n \"target\": \"$.order.customerLabel\",\n \"sources\": [\n \"$.order.customer.firstName\",\n \"$.order.customer.lastName\"\n ],\n \"transforms\": [\n \"concat(\\\" \\\")\"\n ]\n }\n ]\n}", "includeContainerNodes": true, "maxFields": 200 }

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

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

Обзор

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

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

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

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

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

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

Аудит данных: проверка того, из каких исходных полей формируются финансовые показатели или агрегированные метрики в итоговом отчете.
Интеграция API: создание точной карты соответствия полей при переходе со старой версии API на новую.
Разработка хранилищ данных: отслеживание трансформаций сырых данных (raw data) перед их загрузкой в витрины данных.

Примеры

1. Отслеживание производных полей в ответе API

Инженер данных
Контекст
Команде нужно задокументировать, как формируется итоговый ответ API для фронтенда на основе сырых данных из базы.
Проблема
Непонятно, из каких исходных полей генерируются значения `totalUsd` и `customerLabel`.
Как использовать
Вставьте исходный JSON заказа и добавьте правила трансформации, описывающие конвертацию центов в доллары и объединение имени и фамилии.
Пример конфигурации
{
  "rules": [
    {
      "target": "$.order.totalUsd",
      "sources": ["$.order.totalCents"],
      "transforms": ["divide_by_100", "round(2)"]
    },
    {
      "target": "$.order.customerLabel",
      "sources": ["$.order.customer.firstName", "$.order.customer.lastName"],
      "transforms": ["concat(\" \")"]
    }
  ]
}
Результат
Инструмент генерирует JSON-граф, показывающий явную связь: `totalUsd` зависит от `totalCents`, а `customerLabel` формируется из `firstName` и `lastName`.

2. Извлечение путей из сложного JSON

Backend-разработчик
Контекст
Разработчик получил объемный JSON-файл конфигурации от стороннего сервиса и хочет понять его структуру для написания парсера.
Проблема
Ручной поиск всех возможных путей (JSON paths) и вложенностей занимает слишком много времени и ведет к ошибкам.
Как использовать
Вставьте JSON в поле «Исходный JSON», оставьте правила пустыми и отключите опцию «Включать узлы объектов и массивов», чтобы получить только конечные значения.
Результат
Формируется плоский список всех путей (например, `$.config.db.host`, `$.config.db.port`) с подсчетом общего количества полей, готовый для использования в коде.

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

json

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

FAQ

Что такое правила происхождения (lineage rules)?

Это JSON-конфигурация, описывающая, как новые (производные) поля создаются из исходных данных с помощью различных преобразований, например, объединения строк или вычислений.

Зачем нужна опция включения узлов контейнеров?

Она позволяет отображать в графе зависимостей не только конечные значения (листья), но и родительские объекты или массивы, что полезно для понимания полной иерархии документа.

Есть ли ограничение на размер обрабатываемого JSON?

Инструмент поддерживает вывод до 2000 полей. Вы можете настроить этот лимит с помощью параметра «Максимум полей в выводе», чтобы избежать перегрузки при работе с огромными файлами.

Можно ли использовать инструмент без правил преобразования?

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

В каком формате предоставляется результат?

Результат возвращается в формате JSON, который содержит общую статистику (количество базовых и производных полей) и массив узлов графа зависимостей.

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

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

POST /ru/api/tools/json-data-lineage-tracer

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

Имя параметра Тип Обязательно Описание
sourceJson textarea Да -
lineageRulesJson textarea Нет -
includeContainerNodes checkbox Нет -
maxFields number Нет -

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

{
  "key": {...},
  "metadata": {
    "key": "value"
  },
  "error": "Error message (optional)",
  "message": "Notification message (optional)"
}
Данные JSON: Данные JSON

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

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

{
  "mcpServers": {
    "elysiatools-json-data-lineage-tracer": {
      "name": "json-data-lineage-tracer",
      "description": "Отслеживает пути JSON-полей, производные зависимости и историю преобразований",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=json-data-lineage-tracer",
      "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]