CSV 转 JSON 完全指南

CSV 与 JSON 的结构差异

CSV(逗号分隔值)和 JSON(JavaScript 对象表示法)是两种最常见的数据格式,但它们的结构有本质区别:

特性 CSV JSON
结构 扁平表格 嵌套树状
数据类型 全部为字符串 字符串、数字、布尔、null
嵌套支持 不支持 原生支持
注释 不支持 不支持(JSON5 支持)
适用场景 表格数据、Excel 导出 API 响应、配置文件

转换规则详解

CSV 转 JSON

CSV 每一行会被转换为一个 JSON 对象,第一行作为键名(header),后续行作为值:

name,age,city
张三,28,北京
李四,32,上海

转换结果:

[
  { "name": "张三", "age": 28, "city": "北京" },
  { "name": "李四", "age": 32, "city": "上海" }
]

JSON 转 CSV

JSON 数组中的每个对象会被展开为 CSV 的一行,对象的键名组成 header 行。

使用 JSON↔CSV工具 进行转换

步骤一:准备数据

确保你的 CSV 文件格式正确:首行为表头,每行字段数一致,包含逗号的字段用双引号包裹。

步骤二:选择转换方向

打开 JSON↔CSV工具,选择「CSV → JSON」或「JSON → CSV」模式。

步骤三:粘贴或上传数据

将数据粘贴到输入区域,或直接上传 .csv / .json 文件。

步骤四:配置选项

  • 分隔符:默认逗号,也支持制表符(TSV)和分号
  • 是否包含表头:控制首行是否作为字段名
  • 嵌套展开:JSON 中嵌套对象的处理方式
  • 数字自动识别:将 "28" 自动转为 28

步骤五:获取结果

点击转换按钮,结果即时显示在输出区域,可一键复制或下载。

处理表头(Headers)

表头是 CSV 的核心。转换时需注意:

  • 表头中的空格和特殊字符会被保留为 JSON 的键名
  • 建议使用小写 + 下划线命名(如 user_name),方便后续处理
  • 如果 CSV 没有表头,工具会自动生成 col_1, col_2 等默认列名

处理嵌套对象

CSV 本身不支持嵌套,但有些 CSV 会用点号表示层级:

user.name,user.email,order.id
张三,zhang@example.com,1001

使用 JSON↔CSV工具 时,勾选「自动展开嵌套」选项,即可生成:

{
  "user": { "name": "张三", "email": "zhang@example.com" },
  "order": { "id": 1001 }
}

大文件处理技巧

  • CSV 文件超过 10MB 时,建议分批转换
  • 使用流式处理避免内存溢出
  • 工具支持最大 50MB 文件的在线转换
  • 超大文件建议先在本地用 Python(pandas)预处理

常见错误及解决方案

错误 原因 解决方法
字段数不一致 某行多/少了逗号 检查引号包裹是否完整
编码乱码 文件非 UTF-8 先用文本编辑器转码
JSON 解析失败 格式不合法 使用 JSON格式化 修复
嵌套展开失败 键名层级不规范 检查点号分隔是否一致

实用技巧

  1. 转换后用 JSON格式化 美化输出
  2. 用 JSONPath 快速验证转换结果
  3. Excel 导出的 CSV 常含 BOM 头,转换前需去除
  4. 日期字段建议统一为 ISO 8601 格式

总结

CSV 与 JSON 的互转是日常开发中的高频操作。掌握结构差异和转换规则,配合 JSON↔CSV工具,可以高效完成数据格式转换。遇到复杂嵌套或大文件场景时,参考本文的技巧逐一解决即可。

#CSV#JSON#数据转换#表格#开发