Developer Tools

从 CSV 到 JSON:在 API 中处理表格数据

如何将电子表格转换为 API 所需的 JSON 格式,注意表头和引号处理,并在发送前验证数据载荷。

6分钟阅读

Analytics and data

CSV 是商业世界仍在使用的数据传输格式:来自 CRM 的导出文件、银行对账单和库存报告。JSON 则是大多数 REST 和无服务器 API 所期望的格式。在两者之间进行干净的转换,可以节省大量编写临时脚本的时间。

常见结构:对象数组

对于 API 来说,最友好的 JSON 结构是对象数组——每行对应一个对象,键名来自表头行:

[
  { "sku": "A-100", "qty": "12", "warehouse": "East" },
  { "sku": "B-220", "qty": "3", "warehouse": "West" }
]

注意,CSV 中的所有值均为字符串,除非你额外添加类型转换步骤。如有需要,你的 API 应将 qty 强制转换为数字类型。

表头与一致性

  • 第一行必须是列名;转换前请重命名重复的列名。
  • 注意 Excel 导出的 UTF-8 文件开头可能带有 BOM 字符——这会破坏简单的解析器,并将第一个表头变成 \uFEFFsku
  • 带引号的字段可以包含逗号和换行符;优秀的解析器能正确处理,但用正则表达式按逗号分割则无法应对。

当 JSON → CSV 时

报表工具和邮件附件通常又需要 CSV 格式。导出时每个对象占一行;若各对象的键不一致,则取所有键的并集作为列名(缺失的字段对应空单元格)。

上线前进行验证

转换完成后,将 JSON 通过 JSON Formatter 进行检查,以发现尾随逗号、单引号或电子表格公式产生的意外 NaN 值。

如果你的数据管道还需要从配置仓库接收 YAML,YAML to JSON 可以帮助将所有内容统一到相同的 JSON schema 测试中。

本地试用

我们的 CSV ↔ JSON Converter 完全在浏览器中运行:粘贴示例导出内容,即可获得格式化的 JSON,或反向转换生成快速报表。文件不会离开你的设备。

如果由用户上传 CSV,请将其视为不可信输入——限制文件大小,扫描 Excel 公式注入风险(如 =cmd|),绝不将单元格内容作为代码执行。

总结

  • API 优先采用表头 + 数据行 → 对象数组的结构。
  • 遵守引号规则;生产环境中避免使用自制的 CSV 解析器。
  • 发送到下游服务之前,始终验证 JSON 及其 schema。