JSON转CSV
把API响应、应用导出数据和日志文件从JSON转成行和列。上传.json、.jsonl或.ndjson文件,下载每条记录占一行的CSV。
数据转换器
或将CSV, TSV, TXT … 文件拖放到此处 ·
单个文件最大 95 MB· 最多 20 个文件· 30 分钟后删除
文件在我们的服务器上处理,并在 30 分钟后删除。
CSV 和文本文件中分隔列的字符,读取和写入都适用。自动会从输入中检测,并以逗号写出。
UTF-8 适用于所有语言。如果 Windows 上的 Excel 打开 CSV 时重音字符或中日韩文字显示乱码,请选择带 BOM 的 UTF-8。
输入为 Excel、ODS 和 Numbers 时:只转换第一个工作表,或转换所有工作表(ZIP 中每个工作表一个 CSV,或 JSON 中每个工作表一个键)。
新电子表格中工作表标签的名称,最多 31 个字符。
对象数组会为每一行使用列名作为键;数组的数组更紧凑,并把表头作为第一个数组。
包裹所有行的外层元素名称;每一行会成为其中的一个 <row>。
用于 CREATE TABLE 和 INSERT 语句。只能使用字母、数字和下划线。
不同数据库的引号和列类型略有差异;请选择您要导入的数据库。
把日期单元格统一改写为一种格式。ISO (2026-10-18) 对数据库和代码最稳妥;保持原样则保留源文件中的显示方式。
使用方法
- 1
上传JSON数据
添加包含对象数组的文件,或每行一个对象的 JSON Lines 文件。最多 20 个文件,每个不超过 95 MB。
- 2
检查CSV设置
文本编码默认选中带 BOM 的 UTF-8,这样 Windows 上的 Excel 能正确显示带重音的字符。如果你的 Excel 需要分号,请把分隔符设为分号;对要求严格的导入工具,可以开启所有值加引号。
- 3
转换并下载
点击转换为 CSV。表头行会列出记录中出现过的所有键;你可以直接打开文件,或导入到任何支持 CSV 的地方。
JSON转CSV会把一组记录变成表格:每个对象成为一行,每个键成为一列,嵌套字段则展开成各自独立的列。
为什么要把JSON转换为CSV
JSON 是网络服务之间交换数据的方式。订单系统、支付服务商、分析 API 和表单工具都以 JSON 输出数据,MongoDB、Firebase 等 NoSQL 数据库也以类似 JSON 的结构存储文档。这对程序来说很理想,对其他人却很头疼,因为在文本编辑器里打开一个 5 MB 的 JSON 文件,看到的只是一堵大括号墙。
CSV 则是相反的取舍。它无法表达嵌套和类型,但所有电子表格、BI 工具、CRM 导入功能和数据库加载器都能读取。运营经理靠转换把订单列表放进数据透视表,数据分析师靠转换把 API 拉取的数据导入 SQL 表,客服主管靠转换把筛选后的导出文件分享给同事。如果数据原本是 XML,可以用 XML转CSV 对标签做同样的扁平化。
嵌套JSON转CSV:展开机制详解
- 扁平化规范化 · 去嵌套
- 把嵌套对象写成同一行中的额外列,列名取自指向每个值的路径,因此 {"customer":{"city":"Austin"}} 会变成一列 customer.city,值为 Austin。
[{"id":5012,"total":42.9,"paid":true,"customer":{"name":"Ada Okafor","city":"Austin"}},
{"id":5013,"total":18,"paid":false,"customer":{"name":"Lin Wei","city":"Toronto"}}]
id,total,paid,customer.name,customer.city
5012,42.9,true,Ada Okafor,Austin
5013,18,false,Lin Wei,TorontoJSON变体与表格输出格式
| from ↓ · to → | CSV | TSV | XLSX |
|---|---|---|---|
| JSON | JSON to CSV: yes | JSON to TSV: yes | JSON to XLSX: yes |
| JSONL | JSONL to CSV: yes | JSONL to TSV: yes | JSONL to XLSX: yes |
| NDJSON | NDJSON to CSV: yes | NDJSON to TSV: yes | NDJSON to XLSX: yes |
| YAML | YAML to CSV: yes | YAML to TSV: yes | YAML to XLSX: yes |
| XML | XML to CSV: yes | XML to TSV: yes | XML to XLSX: yes |
记录内部的列表是扁平行唯一无法妥善容纳的内容。一个有五个商品明细的订单,实际上是两张表:订单和商品。如果这些列表很重要,请把数组提取到单独的 JSON 文件中再单独转换,这样每个商品明细都有自己的一行,旁边附有订单 ID。
JSON与CSV格式要点
JSON
JavaScript 对象表示法
JSON 是一种轻量级结构化数据文本格式,由 Douglas Crockford 在 21 世纪初推广,并被标准化为 RFC 8259 和 ECMA-404。它用简单易读的语法表示对象、数组、字符串、数字、布尔值和 null。它是网络 API、配置文件以及几乎所有编程语言之间数据交换的默认格式。它没有内置注释、日期或模式,嵌套很深的大文件没有查看器就很难阅读。
- 压缩方式
- –
- 透明度
- –
- 动画
- –
- 发布年份
- 2001 · Douglas Crockford
CSV
逗号分隔值
CSV 是一种用于表格的纯文本格式,每一行是一条记录,列之间用逗号分隔。它从计算机早期就开始使用,RFC 4180 对其作了说明,不过许多变体使用分号或制表符,文本编码也各不相同。几乎所有电子表格、数据库和分析工具都能导入和导出 CSV,因此它是在系统之间传输数据的默认格式。CSV 只保存数值,不包含公式、格式、多个工作表或数据类型。
- 压缩方式
- –
- 透明度
- –
- 动画
- –
- 发布年份
- –
从 API 或应用获取的数据,需要由习惯用电子表格而非代码的人来分析、共享或导入时,人们就会把 JSON 转成 CSV。
JSON转CSV常见问题
什么样的JSON结构能顺利转换为CSV?
适用的是各对象大部分键相同的对象数组,例如 [{"id":1,"name":"Ada"},{"id":2,"name":"Lin"}]。每个对象成为一行,每个键成为一列。最外层是单个对象、记录放在某个属性里的情况也可以处理,前提是这些记录本身是一个列表。
部分记录缺少其他记录中的键怎么办?
表头是所有键的并集,所以只在部分记录中出现的字段也会有自己的一列,没有该字段的记录在该单元格留空。这对 API 数据很正常,因为可选字段通常会直接省略。
true、false和null会写成什么?
CSV 没有数据类型,只有文本。布尔值会写成 true 和 false 这两个单词,数字写成数字,null 则是空单元格。如果导入工具需要用 1 和 0 代替 true 和 false,请在转换后用电子表格替换。
为什么Excel中重音字符显示为乱码?
除非文件开头有字节顺序标记(BOM),否则 Windows 上的 Excel 会按系统区域代码页读取 CSV 文件。因此本页默认写入带 BOM 的 UTF-8。Linux 上的工具或数据管道有时更适合普通 UTF-8,这时请切换文本编码。
JSON数据该转成CSV还是Excel文件?
如果下一步是导入其他系统、加载数据库或交给脚本处理,选 CSV。如果要让人阅读和编辑数据,选工作簿,因为 JSON转Excel 会保留数据类型,并避免 Excel 打开时重新猜测邮政编码之类的列。
能从CSV还原出原始JSON吗?
只能得到扁平化的版本。数组和深层嵌套已被展开成列或文本,数字与字符串的类型也不再被记录,所以反向转换得到的是扁平对象。如果以后需要原始结构,请保留源 JSON。
- JSON转Excel转换器将JSON或JSON Lines转换为Excel XLSX表格:键变为列标题,每条记录变为一行。每批最多20个文件,无需注册账号。
- XML转CSV转换器在线将XML数据源、发票和系统导出文件转换为CSV。重复记录变成行,子标签变成列。最多20个文件,每个95 MB。
- JSON转TXT转换器将JSON转换为纯文本文件:每行一条记录,字段用制表符或任意自选分隔符隔开。可直接用记事本、Excel和命令行工具打开。
- JSON转YAML转换器在线将JSON转换为YAML,适用于Kubernetes、GitHub Actions、Compose和Ansible配置。缩进规范、引号安全,每批20个文件,无需注册。
- Excel转JSON转换器在线将Excel表格转换为JSON:表头行作为键名,每行生成一个对象,日期输出为ISO字符串。支持XLSX、XLS、ODS和Numbers文件。
- CSV转Parquet在线转换在线将CSV转换为Apache Parquet,每列带数据类型并经过压缩,可直接用于pandas、DuckDB、Spark、BigQuery或Athena。无需安装Python或配置Spark。