CSV 转 JSON:保留前导零、逗号和双引号
公开虚构示例 · 更新于 2026-09-30 · 可在本地工具复现
将两行虚构商品资料从 CSV 转成 JSON。目标是保留 SKU 的前导零、名称中的逗号和双引号;不根据单元格的外观猜测数据类型。
输入 CSV
sku,name,quantity
00123,"Notebook, A5",2
00456,"He said ""Hello""",0预期 JSON
[
{
"sku": "00123",
"name": "Notebook, A5",
"quantity": "2"
},
{
"sku": "00456",
"name": "He said \"Hello\"",
"quantity": "0"
}
]这三个细节决定转换是否正确
- 前导零:00123 输出为字符串 "00123",不是数字 123。
- 字段内逗号:"Notebook, A5" 是一个字段,不能用简单的 split(',') 拆列。
- 字段内双引号:CSV 用两个连续双引号表示一个引号;JSON 再使用反斜线转义它。
改变一个条件会怎样?
把 quantity 的 2 改为 02,输出是 "02",不会转成数字。若目标接口需要数字类型,应按照字段定义单独转换,不能对所有列统一转数字。
去掉 Notebook, A5 外层的双引号,这行将多出一列,工具会报告行与表头列数不同。重复表头也会报错。要定位列数异常,可先运行 CSV 结构检查;报告中的行号指解析后的记录。Excel 工作簿需要先另存为 CSV,制表符文本应使用 TSV 转 JSON。
导出到电子表格之前
转换只改变格式,不证明数据可信。来源不明的内容可能被表格软件解释为公式;直接使用 JSON 数据时不会执行这些字符串。需要 CSV 文件时,请阅读 JSON 转 CSV 的使用边界。还可用 CSV 公式防护导出 处理指定前缀;它会改变原始值,不能保证所有表格软件的行为。