Skip to content
DocsAll
教程

CSV 转 JSON 教程:表格数据结构化转换

Timi Tian · 发布于 2026年4月18日 · 更新于 2026年7月12日
CSVJSON数据转换

为什么要 CSV 转 JSON

CSV 是表格数据格式,Excel 导出的默认格式。JSON 是程序友好格式,API 传输的标准。把 CSV 转 JSON,让表格数据能直接被程序消费。

常见场景:

  • Excel 数据导入网站数据库
  • 表格数据对接 API
  • 数据分析结果转给前端渲染
  • 配置从表格迁移到 JSON 文件

CSV 和 JSON 的区别

CSV 格式

name,age,city
Tom,25,北京
Jerry,30,上海
  • 纯文本,逗号分隔
  • 第一行是表头
  • 每行一条记录
  • 无类型(都是字符串)
  • 无嵌套结构

JSON 格式

[
  {"name": "Tom", "age": 25, "city": "北京"},
  {"name": "Jerry", "age": 30, "city": "上海"}
]
  • 结构化,键值对
  • 有类型(字符串、数字、布尔)
  • 支持嵌套
  • 程序直接解析

转换原理

表头映射

CSV 第一行是表头,转 JSON 时表头变成对象的键:

  • 表头:name, age, city
  • 第一行数据:Tom, 25, 北京
  • 转换:{"name": "Tom", "age": "25", "city": "北京"}

数据类型识别

CSV 所有值都是字符串。转 JSON 时可智能识别类型:

  • 数字:"25" → 25(数字)
  • 布尔:"true" → true(布尔)
  • 空值:"" → null(空)
  • 字符串:保持字符串

不识别类型则全部按字符串处理。

数组生成

CSV 每行一个对象,所有行组成数组:

[
  {对象1},
  {对象2}
]

嵌套结构

问题

CSV 是扁平表格,JSON 支持嵌套。怎么把扁平 CSV 转成嵌套 JSON?

方法一:点号键名

CSV 表头用点号表示层级:

name,address.city,address.zip
Tom,北京,100000

转 JSON:

{
  "name": "Tom",
  "address": {
    "city": "北京",
    "zip": "100000"
  }
}

方法二:数组索引

name,tags[0],tags[1]
Tom,A,B

转 JSON:

{
  "name": "Tom",
  "tags": ["A", "B"]
}

方法三:分号分隔

name,tags
Tom,"A;B;C"

转 JSON:

{
  "name": "Tom",
  "tags": ["A", "B", "C"]
}

转换步骤

1. 准备 CSV

确保 CSV 格式正确:

  • 第一行是表头
  • 字段用逗号分隔
  • 含逗号的字段用双引号包裹
  • 含双引号的字段用两个双引号转义

2. 上传或粘贴

把 CSV 内容粘贴到转换工具,或上传 CSV 文件。

3. 配置选项

  • 是否识别数据类型
  • 嵌套结构处理方式
  • 输出格式(数组还是逐行对象)

4. 转换

工具自动转换,输出 JSON。

5. 校验

检查 JSON 结果是否符合预期:

  • 字段是否正确
  • 类型是否正确
  • 嵌套是否正确

常见问题

含逗号的字段

CSV 字段含逗号要用双引号包裹:

name,desc
Tom,"Hello, world"

不包裹会被当成两个字段,转换出错。

中文乱码

CSV 用 UTF-8 编码。Excel 默认可能是 GBK,导出时选 UTF-8。

空值处理

CSV 空单元格转 JSON 是空字符串 "",还是 null?

  • 默认:空字符串 ""
  • 智能识别:null
  • 看工具选项

数字精度

大数字转 JSON 可能丢失精度。如身份证号 18 位,转数字会变成科学计数法。身份证号要按字符串处理(CSV 里加前导引号或转换时指定字符串类型)。

日期格式

CSV 日期格式不统一(2024-01-01、2024/1/1、Jan 1 2024)。转 JSON 保持字符串,前端再解析。

BOM 头

Excel 导出的 CSV 可能带 BOM 头(\uFEFF),导致第一个字段名前有不可见字符。转换工具应自动去除 BOM。

转换技巧

预处理 CSV

转换前在 Excel 里整理:

  • 删除空行
  • 统一日期格式
  • 检查字段完整性

选择性转换

只转需要的列。不需要的列在 CSV 里删除,减少 JSON 体积。

分批转换

超大 CSV 一次转换可能卡。分批转换,每批几百行。

结果校验

转换后用 JSON 格式化工具美化,人工抽查几条确认正确。

用 DocsAll 转换

CSV 转 JSON 工具

  1. 上传 CSV 文件或粘贴 CSV 内容
  2. 工具自动解析表头和数据
  3. 配置转换选项(类型识别等)
  4. 生成 JSON
  5. 复制或下载结果

浏览器端转换,CSV 数据不上传服务器,适合处理敏感数据。

反向转换:JSON 转 CSV

有时需要反向,把 JSON 转 CSV:

  • API 返回 JSON,导出到 Excel 分析
  • 数据库 JSON 字段导出表格

JSON 转 CSV 的难点:

  • 嵌套结构要拍平
  • 数组字段处理(拼接或展开多行)
  • 字段不统一时补齐空值

小结

CSV 转 JSON 核心是表头映射键名、数据类型识别、嵌套结构处理。注意含逗号字段、中文编码、空值和大数字精度。DocsAll CSV 转 JSON 工具 浏览器端运行,数据不外传。

T
Timi Tian 创始人 / 全栈工程师

DocsAll 创始人,10 年全栈开发经验,专注浏览器端文档处理技术与隐私保护架构。前新加坡科技公司技术负责人。