从表格导出 CSV 后交给接口使用,常见问题不只是格式:编号 0012 被改成 12、标题中的逗号把一列拆成两列、价格变成字符串,都可能影响后续导入。
本教程用 CSV 转 JSON 和 JSON 转 CSV 完成一组往返练习。当前 CSV 工具使用逗号分隔,第一行为表头,不提供自动类型推断。
第一步:准备三列、两行的 CSV
把下面文本复制到 CSV 转 JSON 的“输入”区,结果会自动更新:
sku,title,price
0012,"收纳盒, 大号",19.9
0013,"杯子 ""经典款""",25
表头是 sku、title、price。第一件商品的标题包含逗号,所以整个单元格用双引号包住;第二件商品的标题本来就包含双引号,用连续两个双引号表示内容里的一个引号。
只输入本文这样的文本即可。工具的输入不是表格文件上传区,不能把 .xlsx 二进制文件直接当 CSV 粘贴。
第二步:核对 JSON 结果,不只数记录
预期结果如下,排版空白可以不同:
[
{ "sku": "0012", "title": "收纳盒, 大号", "price": "19.9" },
{ "sku": "0013", "title": "杯子 \"经典款\"", "price": "25" }
]
检查四件事:记录数量为 2、编号仍有前导零、逗号仍属于标题、标题引号被保留。
price 的结果是字符串。CSV 没有为这个单元格携带 JSON 数字类型,当前工具将单元格作为字符串输出。如果接口要求数值,需按规则转换后再用 JSON Schema 校验器 检查,不能只删掉所有引号。
第三步:换成 JSON 转 CSV,做往返检查
将上一步的 JSON 复制到 JSON 转 CSV,等待结果自动更新。结果应仍包含三列和两条商品记录,逗号与双引号会按 CSV 字段规则转义。
再把生成的 CSV 放回 CSV 转 JSON,比较字段内容。使用 JSON 差异比较 时,应关注值与类型是否一致;对象键顺序或 JSON 缩进的变化不代表商品信息发生变化。
JSON 转 CSV 会合并各对象的键作为表头,不要求每条记录的键完全相同。某条记录缺少字段时,表格单元格可能为空,所以转换后还要检查必填列。
表头、空值和嵌套数据要怎样处理?
| 输入情况 | 当前行为或限制 | 实际建议 |
|---|---|---|
重复表头,例如两个 sku |
后面的同名键会覆盖前面的值 | 转换前给每列唯一名称 |
| 空表头 | 使用 column_列号 命名 |
先补清楚业务字段名 |
| 某行缺少末尾单元格 | 对应字段使用空字符串 | 确认是空值还是数据遗漏 |
| 数据行比表头多列 | 没有对应表头的列不会进入对象 | 对齐列数后再转换 |
null、数字、布尔值 |
CSV 往返不能自动保留 JSON 类型 | 按接口规则恢复并校验类型 |
| 嵌套对象或数组 | 不会自动展开成多列 | 先设计扁平字段或保留 JSON 原文件 |
例如 {"address":{"city":"上海"}} 不适合直接期待变成 address.city 列。复杂结构建议保留 JSON,或者先明确哪些字段要进入表格。
转入表格软件前,再检查编号与公式
即便生成的 CSV 里写着 0012,表格软件也可能按数字打开,去掉前导零。使用导入功能,把编号列指定为文本,再核对结果。已经丢失的前导零不能靠格式转换猜回来。
来自外部来源的单元格如果以 = 等符号开头,表格软件可能按公式解释。当前转换器只转换字段,不会替你做公式清理;导入陌生数据前应按文本检查,尤其不要直接运行其中的公式。
最后按实际接收方验收
确认列名、记录数、字符、编号和价格类型,再提交一个小样本给接收方测试。遇到乱码,先确认原文件编码,必要时使用 文本编码转换。需要理解 JSON 的语法和数值精度,可继续阅读 JSON 基础指南。