为什么不能直接把 JSON 粘进表格

本文说明如何把 JSON 接口数据转换成 CSV 表格。核心步骤是先把嵌套对象和数组扁平化,让每个叶子字段独立成列,再设置分隔符、引号包裹和 UTF-8 编码后导出。文中给出从浏览器获取 JSON、判断顶层结构、选择展开方式、配置参数、导出检查的完整流程,并列出解析失败、列名重复、数字变文本、日期错乱、行数暴涨等常见错误,以及适用与不适用场景和五条常见问题解答。

· · 3 分钟 · 130 浏览 · 9 个小节
目录
  1. 为什么不能直接把 JSON 粘进表格
  2. 第一步:拿到 JSON 数据
  3. 第二步:判断结构类型
  4. 第三步:选择扁平化方式
  5. 第四步:设置转换参数
  6. 第五步:导出并检查
  7. 常见错误
  8. 适用与不适用场景
  9. 常见问题

JSON 数据怎么转成 CSV 表格?接口数据整理方法

你拿到一段 JSON 接口数据,想把它变成 Excel 能打开的表格,核心做法只有两步:先把嵌套结构扁平化,再选对分隔符和编码导出 CSV。整个过程用在线工具或几行脚本都能完成,不需要手动抄写。下面按实际操作顺序说明。

为什么不能直接把 JSON 粘进表格

JSON 是树状结构,一个字段的值可以是对象或数组;CSV 是二维表,只有行和列。两者结构不对等,直接粘贴会出现大括号、方括号挤在一格里的情况。转换的本质,是把每个叶子节点用路径拼成一个列名,例如 display.sizedisplay.type,这样一行才对应一条完整记录。

第一步:拿到 JSON 数据

在浏览器里按 F12 打开开发者工具,切到 Network 面板,刷新页面,找到返回规格参数的那个请求,在 Response 里就能看到 JSON。也可以从已经整理好的公开数据源直接复制。复制时注意保留完整的括号配对,缺一个右括号就会解析失败。

第二步:判断结构类型

转换前先看 JSON 顶层是对象还是数组。

  • 顶层是数组 [ {...}, {...} ]:每个元素是一行,最适合作表格。
  • 顶层是对象 { "data": [ ... ] }:真正要转的往往在某个键下面,需要先定位到那个数组。
  • 值是嵌套对象:需要扁平化,否则一格里塞一坨。
  • 值是数组:要决定是展开成多行,还是用分隔符拼成一格。

第三步:选择扁平化方式

扁平化就是把嵌套路径接到列名上。以 {"display": {"size": "6.1", "type": "OLED"}} 为例,展开后得到两列:display.sizedisplay.type。如果不展开,表格里只会出现一个叫 display 的列,内容是整个对象,没法排序和筛选。

数组的处理有两种常见策略:

  • 展开成多行:适合一个主记录对应多个子项的情况,行数会变多。
  • 拼成一格:适合子项数量固定且不多的情况,用分号或竖线连接。

第四步:设置转换参数

在线工具和命令行工具通常有这几个配置项:

  • 分隔符:默认逗号。如果字段内容本身含逗号,要么改用分号,要么给字段加引号。
  • 引号包裹:字段里出现分隔符、换行或引号时,必须用双引号包住,内部的双引号写成两个。
  • 编码:导出 CSV 建议用 UTF-8。用 Excel 打开中文出现乱码时,可加 BOM,或在导入时手动指定 UTF-8。
  • 表头:第一行写列名。列名建议保留路径,方便回溯字段来源。
  • 空值处理:缺失字段会写成空或 null,转换前删掉用不上的字段能减少这类噪音。

第五步:导出并检查

下载 CSV 后用表格软件打开,重点检查三处:列数是否和预期一致、含分隔符的字段有没有被错误拆列、中文和特殊符号是否正常显示。确认无误后再加筛选和排序。

常见错误

  • 解析失败:多半是 JSON 不完整,比如复制时漏了结尾的括号。
  • 列名重复:不同层级出现同名字段,扁平化后列名冲突,需要加前缀区分。
  • 数字变文本:长数字或带前导零的编号容易被表格软件识别成数字,导入时把该列指定为文本。
  • 日期格式错乱:不同软件对日期字符串的解析规则不同,导入后核对一遍。
  • 行数暴涨:数组展开成多行后,主记录会被重复,需要去重或改用拼接方式。

适用与不适用场景

适合:结构规整的接口返回、规格参数、清单类数据,字段层级不深,转换后用于排序、筛选、对比。

不适合:层级很深且互相引用的数据、需要保留原始嵌套关系的数据、字段数量不固定且经常变化的数据。这类情况直接用 JSON 查询工具比转 CSV 更省事。

常见问题

转换后中文乱码怎么办?

导出时选 UTF-8 编码;用表格软件打开仍乱码,就在导入向导里手动指定 UTF-8,或让文件带 BOM。

嵌套对象一定要展开吗?

要。不展开的话每个嵌套对象只占一列,内容是一整段文本,无法排序和筛选。展开后每个叶子字段独立成列。

数组字段怎么处理?

子项数量不固定就展开成多行;数量固定且少就拼成一格,用分号连接。

字段里有逗号或换行怎么办?

用双引号把该字段包起来,字段内部的双引号写成两个。多数转换工具会自动处理,导出后仍要抽查。

转换前要不要删字段?

建议删。用不上的字段会变成一堆空列或 null,既占位置又干扰阅读。

JSON 转 CSV 的核心就一句话:先扁平化嵌套结构,再处理分隔符和编码,最后抽查列数和乱码。掌握这几步,任何结构规整的接口数据都能快速变成可排序、可筛选的表格。

更多文章
130 浏览 ·

更多在线工具等你发现

免费使用文字处理、PDF 工具、AI 写作等实用功能