CSV 转 JSON 怎么不出错?表头、分隔符、引号和数据清洗指南
CSV 转 JSON 看似简单,实际容易被逗号、引号、空值、换行和表头坑到。这篇讲清楚 CSV 与 JSON 互转前后的检查方法。
打开配套工具 →运营表格、商品数据、问卷结果、客户名单,经常要在 CSV 和 JSON 之间转换。表面上只是格式互转,真正麻烦的是:字段名不统一、单元格里有逗号、空值含义不清、数字被当成文本。
这篇讲怎么把 CSV 转 JSON、JSON 转 CSV 做得更稳,可以配合 CSV JSON 转换器 本地处理数据。
CSV 的逗号不一定是分隔符
CSV 名字里有逗号,但实际分隔符可能是:
- 逗号
, - 分号
; - Tab
- 竖线
|
而且单元格内容里也可能包含逗号,例如:
name,remark
Alice,"Shanghai, China"如果解析器不支持引号规则,就会把 Shanghai, China 错切成两列。
表头决定 JSON 字段名
CSV 转 JSON 时,第一行通常会作为字段名:
name,age,email
Alice,25,a@example.com转成:
[
{
"name": "Alice",
"age": "25",
"email": "a@example.com"
}
]表头建议使用稳定的英文或拼音字段,不要一会儿叫“手机号”,一会儿叫“手机”,后续接口和脚本会很难处理。
空值要提前约定
CSV 里空单元格很常见:
name,phone
Alice,转成 JSON 时,空值可以是空字符串、null,也可以省略字段。不同系统要求不同。
如果是导入后台,建议先确认:
- 空字符串是否允许。
null是否允许。- 必填字段缺失时怎么报错。
- 数字字段为空时是否会变成 0。
不要等导入失败后才回头猜规则。
数字和字符串要小心
CSV 没有真正的数据类型,所有内容本质上都是文本。转换成 JSON 后,手机号、身份证号、订单号这类字段最好保持字符串。
原因很简单:
- 手机号前导 0 可能丢失。
- 长数字可能超过 JavaScript 安全整数范围。
- 订单号不应该参与数学计算。
真正需要计算的字段,比如价格、库存、数量,再转成数字。
JSON 转 CSV 的注意点
JSON 转 CSV 时,最好保证数组里的对象字段一致:
[
{ "name": "Alice", "age": 25 },
{ "name": "Bob", "age": 30 }
]如果每条数据字段都不一样,CSV 表头会变得混乱。导出前可以先用 JSON 格式化 / 校验工具 看结构是否一致。
数据清洗流程
建议这样处理:
- 原始 CSV 先备份。
- 确认分隔符和编码。
- 检查第一行表头。
- 删除明显空行。
- 转 JSON 后抽查前几条和最后几条。
- 用 JSON 校验确认结构合法。
- 再导入系统或交给接口。
如果处理客户数据,尽量选择本地转换工具,避免把名单上传到不明服务。
总结
CSV 和 JSON 互转的难点不在“转换按钮”,而在字段、空值、类型和分隔符。转换前把规则想清楚,转换后抽查结构,能少很多返工。
你可以用 CSV JSON 转换器 做本地转换,再配合 JSON 格式化 / 校验工具 检查结果。