JSON转CSV是什么?JSON与CSV格式转换完整指南

了解JSON和CSV两种数据格式的区别,掌握JSON转CSV的原理、方法、使用场景以及在线JSON转CSV工具的使用方式,适合数据处理、API开发和Excel数据分析。

JSON转CSV是什么?JSON与CSV格式转换完整指南

在软件开发、数据分析和数据处理过程中,经常需要在不同的数据格式之间进行转换。

常见的数据格式包括:

  • JSON
  • CSV
  • Excel
  • XML

不同格式适合不同的使用场景。

例如:

JSON更适合程序之间的数据交换和API接口通信。

而:

CSV更适合表格数据处理、数据导入导出和Excel分析。

因此,在实际开发过程中,经常需要将JSON数据转换为CSV格式。

JSON转CSV就是:

将JSON结构化数据转换为CSV表格数据的过程。

例如下面的JSON:

{
  "name": "Tom",
  "age": 20,
  "city": "Beijing"
}

可以转换成:

name,age,city
Tom,20,Beijing

这样原本适合程序读取的JSON数据,就可以直接作为表格数据使用。

本文将详细介绍JSON和CSV的区别、JSON转CSV的原理、常见转换方法、嵌套JSON处理方式,以及如何使用在线JSON转CSV工具完成数据转换。


什么是JSON?

JSON全称:

JavaScript Object Notation

中文通常称为:

JavaScript对象表示法

JSON是一种轻量级的数据交换格式。

它主要通过对象和数组组织数据。

例如:

{
  "name": "Tom",
  "age": 20,
  "city": "Beijing"
}

JSON在现代Web开发中非常常见。

主要应用于:

  • REST API
  • 前后端数据传输
  • 配置文件
  • 数据交换
  • 第三方接口
  • 日志数据
  • Web应用

JSON的基本结构

JSON主要包含两种结构:

  • Object对象
  • Array数组

JSON对象

例如:

{
  "name": "Tom",
  "age": 20,
  "city": "Beijing"
}

其中:

name
age
city

是字段名称。

对应的:

Tom
20
Beijing

是字段值。


JSON数组

JSON也可以包含数组。

例如:

{
  "users": [
    {
      "name": "Tom",
      "age": 20
    },
    {
      "name": "Jack",
      "age": 25
    }
  ]
}

这种结构在API接口中非常常见。

JSON可以表达复杂的数据层级,因此特别适合程序之间传递结构化数据。


什么是CSV?

CSV全称:

Comma-Separated Values

中文通常称为:

逗号分隔值

CSV是一种以分隔符组织表格数据的文本格式。

例如:

name,age,city
Tom,20,Beijing
Jack,25,Shanghai
Lucy,22,Guangzhou

可以将CSV理解成一种非常简单的表格数据格式。

其中:

name
age
city

是表头。

而:

Tom,20,Beijing
Jack,25,Shanghai
Lucy,22,Guangzhou

是具体的数据记录。


JSON和CSV有什么区别?

JSON和CSV都可以保存结构化数据,但设计目标不同。

对比项目JSONCSV
数据结构支持复杂嵌套结构主要是二维表格
可读性适合程序和开发者适合表格查看
数据交换非常适合适合简单表格数据
API常用较少
Excel需要转换可以直接打开
嵌套数据支持不直接支持
数据分析可以非常方便
文件结构灵活简单

简单来说:

JSON
↓
更适合程序
CSV
↓
更适合表格

为什么需要JSON转CSV?

在实际工作中,经常会出现这样的情况:

API接口
↓
返回JSON
↓
需要Excel分析
↓
JSON转CSV
↓
Excel打开

例如一个接口返回:

[
  {
    "name": "Tom",
    "age": 20,
    "city": "Beijing"
  },
  {
    "name": "Jack",
    "age": 25,
    "city": "Shanghai"
  }
]

程序可以直接使用JSON。

但是如果需要交给运营人员或者数据分析人员处理,CSV会更加方便。

转换后:

name,age,city
Tom,20,Beijing
Jack,25,Shanghai

这样就可以直接使用Excel等工具查看。


JSON转CSV的基本原理

JSON转CSV本质上是:

将JSON中的对象字段转换为CSV的列,将JSON数组中的每个对象转换为CSV的一行。

例如JSON:

[
  {
    "name": "Tom",
    "age": 20,
    "city": "Beijing"
  },
  {
    "name": "Jack",
    "age": 25,
    "city": "Shanghai"
  }
]

首先确定字段:

name
age
city

然后转换为CSV表头:

name,age,city

再将每一个对象转换成一行:

Tom,20,Beijing
Jack,25,Shanghai

最终得到:

name,age,city
Tom,20,Beijing
Jack,25,Shanghai

JSON数组为什么适合转换CSV?

CSV本质上是二维数据:

行
+
列

而JSON数组可以表示多个相同结构的对象。

例如:

[
  {
    "id": 1,
    "name": "Tom"
  },
  {
    "id": 2,
    "name": "Jack"
  }
]

可以自然转换成:

id,name
1,Tom
2,Jack

因此:

最适合转换成CSV的JSON通常是对象数组。


简单JSON转CSV示例

原始JSON:

[
  {
    "id": 1,
    "name": "Tom",
    "age": 20
  },
  {
    "id": 2,
    "name": "Jack",
    "age": 25
  }
]

转换后:

id,name,age
1,Tom,20
2,Jack,25

这种转换非常简单,因为所有对象具有相同的字段。


JSON字段不一致怎么办?

实际数据中,不同JSON对象可能拥有不同字段。

例如:

[
  {
    "name": "Tom",
    "age": 20
  },
  {
    "name": "Jack",
    "city": "Shanghai"
  }
]

第一个对象没有:

city

第二个对象没有:

age

转换CSV时,可以将所有字段合并:

name,age,city
Tom,20,
Jack,,Shanghai

缺少的数据通常留空。


JSON嵌套对象如何转换CSV?

这是JSON转CSV时比较常见的问题。

例如:

{
  "name": "Tom",
  "age": 20,
  "address": {
    "city": "Beijing",
    "country": "China"
  }
}

CSV是二维结构,无法直接表达这种嵌套关系。

通常可以将字段展开:

name,age,address.city,address.country
Tom,20,Beijing,China

也可以根据具体需求使用其他字段命名方式:

name,age,address_city,address_country
Tom,20,Beijing,China

因此:

JSON转CSV时,嵌套对象通常需要进行字段扁平化处理。


JSON数组字段如何转换CSV?

例如:

{
  "name": "Tom",
  "skills": [
    "JavaScript",
    "Vue",
    "Node.js"
  ]
}

CSV无法直接表达数组结构。

常见处理方式是将数组转换成字符串:

name,skills
Tom,"JavaScript,Vue,Node.js"

或者使用其他分隔符:

name,skills
Tom,"JavaScript | Vue | Node.js"

具体使用哪种方式,需要根据后续数据处理方式决定。


JSON转CSV的常见应用场景

JSON转CSV在很多场景中都有实际用途。

1. API数据导出

很多API返回JSON:

API
↓
JSON

如果需要导出为表格:

JSON
↓
CSV

然后可以使用Excel进行处理。


2. 数据分析

数据分析人员经常使用CSV作为数据输入格式。

例如:

数据库
↓
API
↓
JSON
↓
CSV
↓
数据分析

3. Excel数据处理

Excel对CSV支持非常好。

JSON转换成CSV以后,可以方便地:

  • 打开数据
  • 排序
  • 筛选
  • 统计
  • 制作图表
  • 数据透视

4. 数据迁移

不同系统之间进行数据迁移时,也可能需要:

系统A
↓
JSON
↓
CSV
↓
系统B

CSV格式简单,兼容性比较高。


5. 批量数据处理

如果需要处理大量结构类似的数据,CSV非常方便。

例如:

用户数据
商品数据
订单数据
员工数据
客户数据

如何在线将JSON转换为CSV?

如果只是临时转换数据,不一定需要编写程序。

使用在线JSON转CSV工具通常只需要几个步骤。

第一步:打开JSON转CSV工具

进入:

JSON转CSV工具


第二步:输入JSON

将JSON数据复制到输入框。

例如:

[
  {
    "name": "Tom",
    "age": 20,
    "city": "Beijing"
  },
  {
    "name": "Jack",
    "age": 25,
    "city": "Shanghai"
  }
]

第三步:执行转换

点击转换按钮。

工具会自动解析JSON并提取字段。


第四步:查看CSV

得到:

name,age,city
Tom,20,Beijing
Jack,25,Shanghai

第五步:复制或下载

转换后的CSV可以用于:

  • Excel
  • 数据分析
  • 数据导入
  • 数据迁移
  • 数据处理

JavaScript如何实现JSON转CSV?

如果是开发者,也可以自己使用JavaScript实现简单的JSON转CSV。

例如:

const data = [
  {
    name: "Tom",
    age: 20,
    city: "Beijing"
  },
  {
    name: "Jack",
    age: 25,
    city: "Shanghai"
  }
]

const headers = Object.keys(data[0])

const rows = data.map(item =>
  headers.map(key => item[key])
)

const csv = [
  headers.join(","),
  ...rows.map(row => row.join(","))
].join("\n")

console.log(csv)

输出:

name,age,city
Tom,20,Beijing
Jack,25,Shanghai

这种方法适合简单的数据结构。

实际项目中如果数据结构复杂,还需要处理:

  • 逗号
  • 双引号
  • 换行
  • null
  • 数组
  • 嵌套对象
  • 特殊字符

JSON转CSV需要处理特殊字符

CSV中如果字段本身包含逗号,就需要进行特殊处理。

例如:

Beijing, China

如果直接写:

Tom,20,Beijing, China

CSV会把逗号误认为字段分隔符。

因此应该使用双引号:

Tom,20,"Beijing, China"

CSV中的双引号如何处理?

如果数据本身包含双引号:

Tom said "Hello"

CSV通常需要对双引号进行转义。

例如:

"Tom said ""Hello"""

因此JSON转CSV工具需要正确处理CSV转义规则,否则转换后的数据可能出现字段错位。


JSON中的换行数据如何转换?

例如JSON:

{
  "name": "Tom",
  "description": "Hello\nWorld"
}

转换CSV时,需要确保换行不会破坏CSV行结构。

通常应该将整个字段使用双引号包裹。

例如:

name,description
Tom,"Hello
World"

因此处理复杂JSON时,不能简单使用:

row.join(",")

完成全部转换。


JSON转CSV和CSV转JSON有什么区别?

两者方向相反。

JSON转CSV:

JSON
↓
CSV

主要用于:

  • 数据导出
  • Excel处理
  • 数据分析
  • 表格展示

CSV转JSON:

CSV
↓
JSON

主要用于:

  • API接口
  • Web应用
  • 程序处理
  • 数据导入

例如CSV:

id,name,age
1,Tom,20
2,Jack,25

可以转换为:

[
  {
    "id": "1",
    "name": "Tom",
    "age": "20"
  },
  {
    "id": "2",
    "name": "Jack",
    "age": "25"
  }
]

JSON转CSV时需要注意数据类型

JSON支持:

String
Number
Boolean
Null
Object
Array

CSV本质上是文本格式。

因此转换以后:

{
  "age": 20
}

可能变成:

age
20

再次读取CSV时,某些工具可能将20识别为字符串:

"20"

而不是数字:

20

因此进行数据转换时,需要注意数据类型是否发生变化。


JSON转CSV会丢失数据吗?

对于简单的二维JSON数据,一般可以完整转换。

但是复杂JSON可能存在结构信息丢失。

例如:

{
  "user": {
    "name": "Tom"
  }
}

或者:

{
  "skills": [
    "JavaScript",
    "Vue"
  ]
}

CSV无法原生表达对象和数组结构。

因此转换过程中需要:

  • 展开对象
  • 拼接数组
  • 转换字段
  • 扁平化数据

如果后续还需要恢复成完全相同的JSON结构,CSV并不是理想的中间格式。


什么样的JSON最适合转换CSV?

最理想的数据结构是:

[
  {
    "id": 1,
    "name": "Tom",
    "age": 20
  },
  {
    "id": 2,
    "name": "Jack",
    "age": 25
  }
]

也就是:

数组 + 多个结构相同的对象。

这种数据天然对应CSV:

id,name,age
1,Tom,20
2,Jack,25

什么样的JSON不适合直接转换CSV?

例如复杂嵌套结构:

{
  "user": {
    "profile": {
      "name": "Tom",
      "age": 20
    },
    "orders": [
      {
        "id": 1001,
        "price": 99
      }
    ]
  }
}

这种JSON包含:

  • 多层对象
  • 数组
  • 嵌套数组
  • 多种数据关系

直接转换成CSV容易造成结构信息丢失。

这种情况下需要先进行数据扁平化。


JSON转CSV常见问题

JSON转CSV后为什么字段不对?

可能原因包括:

  • JSON结构复杂
  • 对象字段不一致
  • 嵌套对象没有展开
  • 数组没有正确处理
  • 字段包含逗号
  • 字段包含换行
  • 字段包含双引号

JSON数组可以直接转CSV吗?

可以。

如果数组中的每个元素都是结构类似的对象,通常可以直接转换。

例如:

[
  {
    "name": "Tom",
    "age": 20
  },
  {
    "name": "Jack",
    "age": 25
  }
]

非常适合转换成CSV。


JSON对象可以转换CSV吗?

可以,但通常需要先确定CSV的行列结构。

例如:

{
  "name": "Tom",
  "age": 20
}

可以转换成:

name,age
Tom,20

如果对象结构复杂,则需要根据具体需求进行处理。


JSON转CSV后可以用Excel打开吗?

可以。

CSV是Excel常见的数据交换格式之一。

转换完成后,可以使用Excel打开CSV文件,并进行:

  • 筛选
  • 排序
  • 统计
  • 图表制作
  • 数据分析

JSON转CSV和Excel有什么关系?

JSON本身并不是Excel格式。

常见转换过程是:

JSON
↓
CSV
↓
Excel

或者:

JSON
↓
Excel

通过CSV作为中间格式,可以方便地将JSON数据交给Excel用户处理。

对于开发人员和数据分析人员来说,这是一种非常常见的数据处理方式。


JSON转CSV工具适合哪些人?

JSON转CSV工具适合:

  • 前端开发者
  • 后端开发者
  • 测试人员
  • 数据分析人员
  • 产品经理
  • 运营人员
  • 运维人员
  • 学生
  • 数据处理人员

尤其适合需要临时将API数据转换成表格的人。


在线JSON转CSV工具的优势

在线工具最大的优势是简单。

不需要:

  • 安装软件
  • 编写代码
  • 配置开发环境
  • 安装依赖

只需要:

复制JSON
↓
打开工具
↓
粘贴数据
↓
点击转换
↓
得到CSV

对于一次性的数据转换任务非常方便。


使用在线JSON转CSV需要注意什么?

如果JSON中包含敏感数据,例如:

  • API Key
  • Access Token
  • 密码
  • Cookie
  • 身份证号码
  • 手机号码
  • 用户信息
  • 企业内部数据

建议不要直接提交到不可信的第三方网站。

处理敏感数据时,可以优先选择本地运行的工具。


JSON转CSV总结

JSON和CSV都是常见的数据格式,但它们适合的场景不同。

JSON更加适合:

  • API接口
  • 前后端通信
  • 程序数据交换
  • 复杂结构数据

CSV更加适合:

  • 表格数据
  • Excel
  • 数据导入导出
  • 数据分析

因此,JSON转CSV的核心就是:

JSON对象
↓
提取字段
↓
生成CSV表头
↓
转换数据行
↓
处理特殊字符
↓
生成CSV

对于简单的对象数组:

[
  {
    "name": "Tom",
    "age": 20
  },
  {
    "name": "Jack",
    "age": 25
  }
]

可以直接转换成:

name,age
Tom,20
Jack,25

如果JSON包含嵌套对象、数组或者复杂字段,则需要进行数据扁平化和特殊字符处理。


在线JSON转CSV工具

如果需要快速将JSON转换为CSV,可以使用:

JSON转CSV工具

适合处理:

  • JSON转CSV
  • API数据导出
  • JSON数据整理
  • CSV表格生成
  • Excel数据准备
  • 数据格式转换

对于简单JSON数据,可以直接粘贴后转换。

如果数据包含复杂嵌套结构,则需要先确认转换后的字段结构是否符合使用需求。

© 2026 IYA工作室