JSON 转 Excel 怎么做:接口数据落地成表格的三条路

后端同事甩来一份接口数据,领导要的是能筛选排序的 Excel——这中间隔着一个「嵌套结构拍平」的活。手动复制粘贴既费时又容易错行。这篇讲清转换的映射规则和三条路线,几分钟出表。

一、先理解映射:数组变成行,对象键变成列

JSON 转表格的核心规则:数组(Array)的每一项 = 表格的一行;对象的每个键(key)= 一列。例如:

[
  {"name": "张三", "age": 28, "dept": "技术部"},
  {"name": "李四", "age": 32, "dept": "市场部"}
]

转出来就是两行三列的表,name / age / dept 是表头。前提是数据得是「数组套对象」这种规整结构——真实接口数据往往不是。

二、三种常见麻烦的拍平方法

  1. 数据包在深层里:接口常见 {"code":0,"data":{"list":[...]}} 的包裹结构。真正要转的只有 data.list 这个数组——先用 JSON 格式化工具看清层级,把数组部分单独提出来再转;
  2. 对象套对象:某行是 {"name":"张三","addr":{"city":"杭州","zip":"310000"}},嵌套的 addr 拍平成两列 addr.city、addr.zip(点号路径命名);
  3. 数组套数组:某个字段的值是数组(如一人的多个电话 "phones":["138...","139..."]),拍平时用逗号合并成一格,或者「一对多展开」成多行——前者保行数,后者保结构,按用途选。

三、三条输出路线怎么选

输出适用场景注意
CSV直接用 Excel/WPS 打开、继续人工处理中文 CSV 在 Excel 直接打开可能乱码,选 UTF-8 BOM 输出或用导入向导
Excel 文件交付给非技术同事数字、日期保持原生类型,别让手机号变成科学计数法
SQL数据入库检查字符串里的引号是否被正确转义

交付口径的小细节:手机号、身份证号这类长数字转 Excel 后常显示为 1.39E+11——需要文本格式的列在转换前说明清楚;时间戳转日期也一样,先定好时区和格式再出表。

四、常见报错排查

📊 JSON 转 Excel/CSV/SQL:粘贴 JSON 一键出表,支持嵌套拍平与多格式导出,全部本地转换数据不出浏览器;先校验和美化 JSON 用 JSON 格式化,对比两份数据差异用 JSON Diff;YAML/XML 互转见 格式转换器。

常见问题

问:JSON 里的 null 转出来是什么?
通常转为空单元格。需要显示成「-」或「N/A」看工具选项,统计时注意空值和字符串「null」是两回事。

问:接口数据每页 20 条,分页怎么合并?
把每一页的数组分别转换后纵向拼接即可——列顺序一致时直接粘;不一致先用统一表头规整。

问:可以直接把 JSON 粘进 Excel 吗?
新版 Excel 有「获取数据」功能能处理 JSON,但嵌套拍平和批量转换不如专用工具直观,小数据除外。