JSON 转 CSV

转换器

把对象数组形式的 JSON 转为 CSV,可自定义分隔符、表头与引号转义,适合导出到 Excel 与 BI 工具,省去手写转换脚本。可自定义分隔符、表头行与引号策略,自动处理字段内含逗号与换行的转义。嵌套对象可用点号路径摊平,缺失字段留空以保持列对齐。支持选择导出哪些字段。表头取字段并集且缺失留空。

3 行 × 5 列
JSON输入
CSV输出

关于 JSON 转 CSV

把 JSON 数组变成表格是数据分析与对账的常见起点:导出的订单列表要交给运营用表格打开、接口返回的用户清单要贴进报表、日志里抽取出来的记录要按列统计。JSON 天然是嵌套结构,表格是二维平面,转换的本质就是决定「嵌套的那一层怎么办」。 转换原理是把数组里每个元素当作一行,元素的键当作列名。第一层键直接成为列;遇到嵌套对象或数组时,通常有三种处理策略:把嵌套结构序列化成一段 JSON 文本塞进单个单元格、用点号把路径展开成多层列名(如 address.city)、或者把嵌套数组拆成多行形成笛卡尔展开。三种策略各有代价,选错会让下游统计口径出错。 使用要点:先确认数组里每个元素的键是否一致。真实数据常常是部分元素缺少某些字段,此时列的并集才是完整列名,缺失位置留空;如果按第一个元素推断列名,后面的字段会被静默丢弃,这类问题往往要到对账时才发现。分隔符与引号也要约定:CSV 里含有分隔符、引号或换行的字段必须用双引号包裹,字段内的引号需要双写;逗号不是唯一选择,制表符分隔(TSV)在含中文逗号的数据里更省事。 边界与限制有几条必须提前知道。编码决定中文是否乱码,导出应使用带字节序标记的 UTF-8,否则 Excel 在中文 Windows 上会按本地代码页打开而显示乱码。长数字会被表格软件按科学计数法处理:十八位订单号导入 Excel 后末位变成零,规避方法是导出时把该列写成带前缀的文本形式,或改用真正的表格格式文件。此外 CSV 没有类型信息,前导零(如邮编、工号)会丢失,日期写着 2026-10-01 也可能被自动转成日期值并改变显示格式。 数据与隐私:要转换成表格的往往是用户清单、订单记录、访问日志这一类含个人信息的批量数据,规模大、影响面广。本工具在浏览器内完成解析与导出,不上传文件内容;处理客户数据时应优先在本地或内网环境完成,并在导出后确认表格里没有本应脱敏的字段。

规模上也要有准备:几万行以内的数据浏览器处理起来很快,上百万行则应改用命令行或数据库导出,因为表格格式本身在大体量下既不高效也不便于校验。分块导出后再用脚本拼接是可行的折中,但要保证每块的列名完全一致,否则拼接出来的表格会出现错列,而错列往往比对账时才发现,排查成本远高于导出时多花的那几分钟。 若下游是数据仓库,导出前应把列名固定成一份清单并与接收方确认一次,之后即使上游字段增减也只做加法,避免在分析口径已经产出报告之后再改动列结构。 导出后先抽查首尾各行与总数,再交付给下游,这一步能提前拦住截断与错列两类最常见的问题。

最常见的误用是只按第一个元素推断列名,导致后续元素独有的字段被静默丢弃——这类问题往往要到对账时才发现。另一个误用是用逗号作为分隔符却忽略了数据本身含逗号,字段被拆列后行数不变而列数错位,比少行更难察觉。需要给下游反复消费时,应先把列名固定成清单并确认一次。

实现原理

转换把数组的每个元素当成一行,元素的键当成列。嵌套结构必须做取舍,常见三种:整体序列化成一段文本塞进单元格、用点号把路径展开成多层列名、或把嵌套数组拆成多行。列名取所有键的并集——若按第一个元素推断,后续元素独有的字段会被静默丢弃。

键不一致时的列名
输入[{"a":1},{"b":2}]
输出a,b 1, ,2(取并集,缺失位置留空)

使用方法

  1. 打开「JSON 转 CSV」
  2. 选择源格式与目标格式
  3. 根据需要调整输出选项
  4. 点击「转换」按钮,结果实时显示
  5. 复制或导出结果

使用场景

  • 导出到 Excel — 把接口返回的 JSON 数据转 CSV,用 Excel 或 WPS 打开做表格分析。
  • 数据库导入 — 将 JSON 数据转 CSV 后通过 LOAD DATA 等批量导入数据库。
  • 生成报表 — 把统计接口的 JSON 结果转 CSV,交给非技术同事查看。
  • 数据清洗 — 在表格软件里对转换后的 CSV 做排序、筛选、去重。
  • 跨工具交换 — 把 JSON 转成几乎所有数据工具都支持的 CSV 通用格式。
  • 机器学习数据集 — 把 JSON 数据集转成 CSV,供期望表格输入的模型训练工具使用。

常见问题

JSON 必须是数组吗?

是。CSV 是二维表格,需要 JSON 是对象数组(每个对象一行)。单个对象会被当作只有一行的表格处理。

嵌套对象怎么处理?

本工具会把嵌套字段扁平化为带点号的列名(如 user.name),或序列化为 JSON 字符串放进单元格。

值里有逗号会乱吗?

不会。含逗号、换行或引号的值会被自动用双引号包裹并转义,符合 RFC 4180 标准。

不同对象字段不一致怎么办?

本工具会汇总所有对象出现过的键作为列头,某对象缺失的字段对应单元格留空。

可以指定分隔符吗?

默认逗号分隔。如果需要 TSV(Tab 分隔)或分号分隔,可在转换后用编辑器替换,或使用「列表转换」工具。

Excel 打开中文乱码怎么办?

通常需要 UTF-8 带 BOM 的编码。若发现乱码,可把文件另存为带 BOM 的 UTF-8 CSV,或用记事本转码后再用 Excel 打开。

转回 JSON 能完全还原吗?

通常不能。CSV 里所有值都是字符串,转回去时数字、布尔、null 这些类型信息会丢失,展平后的 user.name 这类带点号列名也几乎无法自动恢复成原始嵌套层级,且原数组的重复结构信息也带不回来。若必须往返,建议把原始 JSON 当作元数据单独保留一份,并在导出前规整日期与空值;否则更适合把 CSV 当作展示或导入这类单向用途,而不是可逆的序列化格式。

嵌套对象转 CSV 时怎么处理?

CSV 是平面结构,嵌套字段会被「拍平」为点号路径(user.address.city),数组则展开成多值或 JSON 字符串。拍平规则决定了列名,若下游系统对列名有要求,先在选项里调整路径分隔符。

广告