JSON ↔ CSV 转换

把接口返回的 JSON 数组导出成表格,或者把导出的 CSV 还原成 JSON——逗号、引号、换行都按标准转义。

输入
输出

      
转义规则(RFC 4180) 字段里含有分隔符、双引号或换行时,整个字段用双引号包起来,字段内部的双引号写成两个连续的双引号。反向解析时同样按这个规则读, 所以「张三,男」这种带逗号的值、以及单元格里的多行备注都能原样往返。

两个方向的规则

JSON → CSV:输入一个对象数组,第一行是表头(所有元素键名的并集,按首次出现顺序)。某个元素缺某个键时该格留空。嵌套对象按点号拉平,例如 user.name 是一列;数组或深层对象整体序列化成 JSON 字符串放进一格。输入单个对象时按只有一行处理。

CSV → JSON:第一行当表头。默认会把看起来像数字、布尔值的单元格转成对应类型(1 变数字、true 变布尔),空单元格变成 null。需要「所有值都当字符串」时勾上对应选项——处理身份证号、订单号这类值更安全。列数比表头多的行会用 col4 这类名字补上,少的补 null。

常见坑

常见问题

CSV 字段里本身有逗号或换行怎么办?
把整个字段用双引号包起来,字段内的双引号写成两个连续的引号,换行可以原样保留在引号里。本工具输出时自动做这件事,解析时也按同一规则读,不需要你手工处理。
JSON 里的 null 转成 CSV 是什么?
默认输出成空字段(什么也没有)。也可以选「带引号的空串」或「字面量 null」。要注意:如果数据里既有 null 又有空字符串,都用空字段表示之后就无法区分了,需要区分时请选后两种。
Excel 打开后中文变成乱码怎么办?
Excel 双击打开无 BOM 的 UTF-8 CSV 时会按系统本地编码解释,所以中文会乱。正确做法是用「数据 → 从文本/CSV 导入」并指定 UTF-8,或者用记事本另存为 ANSI 编码再打开。
带前导零的编号为什么不会被转成数字?
识别到前导零(如 007)、超过 2^53 的整数、或带正号的数字时,工具会保留成字符串,避免 007 变成 7、长订单号被截断。实在不确定就勾上「全部当字符串」。
嵌套对象和数组会怎么处理?
JSON 转 CSV 时,嵌套对象按点号拉平成多列(user.name);数组和更深的对象不会被硬拆,而是整体序列化成 JSON 字符串放进一个单元格,保证信息不丢,你可以在表格里再处理。

相关工具

JSON 格式化压缩、美化、校验,报错时指出具体行列 JSON 转代码一键生成 TypeScript interface 或 Go struct JSON ↔ YAML双向转换,支持常用 YAML 子集