JSON 与数据处理指南
JSON 转 CSV:嵌套数据、空值和列对齐
先定义行列再转换嵌套 JSON,正确处理逗号、引号、换行和缺失字段。
先定义一行代表什么
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 引用本身不能消除公式风险。