← 返回博客
表格与数据教程

CSV 与 JSON 怎么互转?保留编号、引号和字段类型

用带前导零编号和逗号的商品表,演示双向转换、预期输出,以及表格导入前的检查。

从表格导出 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 基础指南。

← 查看全部文章