JSON 与数据处理指南

JSON 转 CSV:嵌套数据、空值和列对齐

先定义行列再转换嵌套 JSON,正确处理逗号、引号、换行和缺失字段。

Nav Tools ·

先定义一行代表什么

CSV 是表格,JSON 可以任意嵌套;转换前需要约定什么对象对应一行。

先用扁平记录数组,遇到嵌套结构则选出记录数组,只展开下游真正需要的字段。

[{"name":"Ada","city":"London"},{"name":"Lin","city":"Shanghai"}]
name,city
Ada,London
Lin,Shanghai

特殊字符必须正确引用

包含逗号、引号或换行的字段需要 CSV 引用,引用内的双引号写成两个双引号。

读取时使用 CSV 解析器,不能按逗号直接切分,否则合法的带逗号字段也会错列。

name,note
Ada,"hello, world"
Lin,"said ""yes"""

列集合要明确

应明确记录共同使用的列,缺失字段不能让后面的单元格左移;null 与空字符串如何导出也需约定。

CSV 不保存 JSON 类型,往返转换可能让数字变成文本,或丢失 null、缺失与空值之间的差异。

表格导入前复核

表格软件可能自动改写前导零、长 ID 和类似日期的文本,需要保真时把对应列设为文本。

公式标记开头的单元格可能被执行为公式,应采用接收软件的安全导入选项;CSV 引用本身不能消除公式风险。

参考资料

← JSON 与数据处理指南