⇄LocalShift. 在您的设备上运行
LOCALSHIFT 使用指南

CSV 转 JSON 时如何保留前导零

从源数据导出开始,就应将标识符字段保留为字符串。LocalShift 的 CSV 转 JSON 工具将单元格保留为字符串,因此 00123 会变成 "00123",而非数值 123。

标识符不等于数值

邮政编码、客户编号或产品代码即使只含数字,也不一定适合按数值计算。前导零可能有实际意义。类似日期的值也可能需要保留原始文本,而非转换为日期。

从原始 CSV 开始,必要时用文本编辑器打开检查。如果电子表格已经将 00123 保存为 123,转换工具无法可靠地推断丢失的数字。

试用一个短标识符和一个长标识符

将此输入粘贴到“CSV 转 JSON”,保留表头并选择逗号分隔符。输出会将两个标识符保留为带引号的字符串,其中一个标识符超过了常见 JavaScript 数值的安全整数精度。

id,name
00123,Alex
9007199254740993,Sam

预期值(空白格式可能不同)

[
  {"id": "00123", "name": "Alex"},
  {"id": "9007199254740993", "name": "Sam"}
]

在后续处理中保留正确类型

本工具会将所有 CSV 字段保留为字符串,而不仅仅是标识符。例如,false 会保留为 "false",空单元格会变成空字符串,而非 null。如果 API 需要数值,请先检查字段规则,再在后续处理中转换该字段。

不要自动将所有看起来像数字的字段转为数值。JavaScript 无法精确表示所有大整数。使用反向转换前,请将 JSON 中的长标识符用引号包裹。

留意电子表格的导入步骤

CSV 不保存列的数据类型。即使文件生成正确,其他应用打开时仍可能重新解释数据。请将标识符列按“文本”类型导入,不要依赖自动识别。

UTF-8 BOM 用于帮助识别编码,不是数据类型声明。“电子表格安全模式”处理的是某些类似公式的文本,不负责保留前导零。请分别检查文件文本和接收软件的导入设置。

参考资料

以下为通用格式参考资料;LocalShift 的具体行为另有说明和测试。

试用工具