分类

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 数据血缘追踪器是一款专为数据工程师和后端开发者设计的实用工具,能够自动解析 JSON 结构并生成字段级血缘图。通过输入源 JSON 数据并叠加自定义的派生规则,您可以清晰地追踪字段路径、依赖关系以及数据转换历史,极大简化 ETL 流程梳理、API 响应分析和复杂字段映射的排查工作。

适用场景

  • 在重构或迁移旧版 API 时,需要梳理复杂 JSON 响应中各个字段的来源和依赖关系。
  • 编写或调试 ETL 数据管道时,需要验证派生字段(如金额换算、字符串拼接)的转换逻辑是否正确映射。
  • 接手缺乏文档的遗留系统,需要快速逆向工程并可视化数据字典及字段流向。

工作原理

  • 在源 JSON 文本框中粘贴需要分析的原始 JSON 数据,工具会自动枚举并提取所有基础字段路径(如 $.order.totalCents)。
  • (可选)在血缘规则 JSON 中输入派生逻辑,指定目标字段、来源字段数组以及所经历的转换操作(如 divide_by_100)。
  • 配置是否包含对象与数组等容器节点,并设置最大输出字段数以控制分析规模。
  • 点击生成,工具将整合基础路径与派生规则,输出包含节点统计和依赖关系的结构化血缘图 JSON 数据。

使用场景

ETL 数据清洗与转换:记录原始日志数据如何通过清洗、聚合计算生成最终入库的宽表字段。
BFF (Backend for Frontend) 层 API 聚合分析:追踪前端展示的复合字段是由哪些底层微服务接口字段拼接或计算而来的。
数据合规与隐私审计:标记包含敏感信息(如 PII)的源字段,并追踪其在下游系统中的所有派生流向。

用户案例

1. 追踪电商 API 订单金额与用户标签血缘

后端开发工程师
背景原因
订单 API 返回的 JSON 中包含了原始的分为单位的金额和拆分的用户姓名,但前端需要展示美元金额和全名。
解决问题
需要梳理并记录前端展示字段(美元金额、全名)与底层原始字段(美分金额、姓、名)之间的派生关系。
如何使用
将原始订单 JSON 填入“源 JSON”,然后在“血缘规则 JSON”中配置金额除以 100 以及姓名拼接的转换规则。
示例配置
{
  "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. 梳理 ETL 宽表字段映射

数据工程师
背景原因
数据仓库团队正在将多张业务表的数据抽取并打平成一个 JSON 格式的宽表,其中包含大量嵌套结构。
解决问题
需要快速提取所有叶子节点的 JSONPath,并排除中间的容器节点,以便与目标表结构进行映射比对。
如何使用
粘贴宽表的一条样本 JSON 数据,取消勾选“包含对象与数组节点”,并适当调大“输出中的最大字段数”。
效果
工具过滤掉了所有父级对象和数组节点,仅输出纯叶子节点的 JSONPath 列表,直接用于后续的映射脚本编写。

用 Samples 测试

json

相关专题

常见问题

什么是血缘规则 JSON?

它是一个可选配置,用于声明原始 JSON 中不存在的派生字段。您可以指定目标字段(target)、依赖的源字段(sources)以及转换过程(transforms),工具会将其合并到最终的血缘图中。

支持多深的 JSON 嵌套层级?

工具支持任意深度的 JSON 嵌套解析,但为了保证性能和输出可读性,您可以通过“输出中的最大字段数”参数限制最终生成的节点数量。

为什么需要包含容器节点(对象与数组)?

包含容器节点可以完整保留 JSON 的层级树结构(如保留 $.order 节点),有助于在可视化或整体结构分析时理解字段的归属关系;如果只需关注叶子节点,可以取消勾选。

这个工具会自动推断转换逻辑吗?

不会。工具会自动提取源 JSON 的物理路径,但派生字段的业务转换逻辑(如汇率计算、字符串拼接)需要您通过血缘规则 JSON 显式定义。

输出的血缘图 JSON 可以用来做什么?

输出的结构化数据包含了节点(nodes)和依赖关系,您可以将其直接导入到 ECharts、D3.js 或其他图表库中进行可视化渲染,或者作为数据治理平台的元数据输入。

API 文档

请求端点

POST /zh/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数据

AI 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]