关键信息
- 分类
- 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 数据。
使用场景
用户案例
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 或其他图表库中进行可视化渲染,或者作为数据治理平台的元数据输入。