CSV 转 JSON 完全指南

JSON(更新于 2026年6月1日)

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#数据转换#表格#开发