使用方法
- 粘贴 JSON 对象数组、打开 .json 文件,或点击“试用示例”。
- 选择电子表格需要的分隔符,以及对象内的数组写入方式。
- 检查 CSV 预览。每个对象占一行;嵌套字段会转换为 address.city 这样的列。
- 复制 CSV,或将其下载为 .csv 文件。
工作原理
顶层数组中的每个元素都会转换为一行。列包含所有键的并集,并按键首次出现的顺序排列,因此字段不同的对象也能正确对齐;缺少字段或字段值为 null 时,对应单元格为空。如果根元素是单个对象,结果将只有一行。纯值数组(如 [1, 2, 3])会生成名为 value 的单列。
对象内的数组有三种写入方式:在一个单元格中写成 JSON 文本 (["a","b"])、合并到一个单元格中 (a; b),或展开为带编号的列 (tags.0, tags.1)。如果每行都有类似的短列表,请使用最后一种方式。
输出遵循 RFC 4180:字段中包含分隔符、双引号或换行符时,会用双引号括起来,字段内的双引号会重复两次。行与行之间使用 CRLF 换行。在许多欧洲地区的 Excel 设置中,小数分隔符是逗号,因此 Excel 预期使用分号而非逗号。Excel 打开 CSV 文件时,也可能会重新格式化长数字、前导零和类似日期的文本;如果需要保留精确值,请将文件作为文本导入。解析 JSON 时,超过 2^53 的数字会失去精度。
示例
从 API 导出用户数据
某个 API 返回 [{"id":1,"name":"Ada","address":{"city":"London"}}, …]。生成的 CSV 包含 id、name 和 address.city 列,可直接在电子表格中排序和筛选。
含逗号和引号的文本
像 Alan "AT" Turing 这样的姓名会转换为 "Alan ""AT"" Turing",而像 Wilmslow, Cheshire 这样的城市名称会用引号括起来,这样电子表格程序就能将每个值保留在各自的单元格中。
在德语或法语版 Excel 中打开
将分隔符设为分号,并启用 UTF-8 BOM。这样 Excel 就能正确拆分列,并正常显示 ä 和 é 等字符。
常见问题
深层嵌套的 JSON 会如何处理?
所有层级的嵌套对象都会扁平化为点分隔路径形式的列名,例如 order.customer.address.zip。数组的处理方式取决于你选择的选项:JSON 文本、合并值,或每个元素单独占一列。
为什么有些单元格是空的?
对象中没有该键,或键的值为 null 时,单元格为空。列由所有对象共同决定,因此即使某个键只存在于部分对象中,也会生成对应的列。
应该使用哪种分隔符?
逗号是标准分隔符。如果所在地区的小数使用逗号(欧洲大部分地区和拉丁美洲),请使用分号;如果数据本身包含许多逗号,或想直接粘贴到电子表格中,请使用制表符。
可以将 CSV 转回 JSON 吗?
可以使用本网站的 CSV 转 JSON 工具进行转换。不过,扁平化无法完全还原:点分隔路径形式的列名会作为普通键返回,例如 "address.city",而不会还原为嵌套对象。
隐私
转换在浏览器中进行。你的 JSON 和生成的 CSV 不会上传、存储或纳入分析统计。