toolgarden.xyz
EN

JSON → CSV

将 JSON / JSONC / JSON5 数组导出为 CSV 表格文件,嵌套字段自动平铺展开,浏览器本地生成,无需上传。

输入 JSON / JSONC / JSON5 数组

CSV 输出

CSV 内容将显示在这里

工具说明

CSV 是二维表格,JSON 可以任意嵌套,因此只有“对象数组”能直接转换成有意义的行和列。工具会收集所有对象中出现过的第一层 key 作为表头,每个数组元素写成一行,缺失字段留空。

逗号、双引号和换行会按 CSV 规则自动加引号并把内部双引号写成两个。嵌套对象和数组不会展开成多张表,而会变成字符串表示;需要独立列时应先使用 JSON Flatten。

使用步骤

  1. 准备对象数组

    根值必须是非空数组,并且数组元素应为对象;单个对象先放进数组。

  2. 预览列与内容

    检查各行字段是否一致,尤其注意嵌套对象、数组和缺失值的展示方式。

  3. 复制或下载 CSV

    确认表头顺序后导出,再用目标表格软件检查编码和分隔效果。

输入与输出示例

对象数组映射为表格行。嵌套的 addr.city 被平铺成列名,缺失的字段留空。

JSON 数组
[
  { "id": 1, "name": "A", "addr": { "city": "北京" } },
  { "id": 2, "name": "B" }
]
CSV
id,name,addr.city
1,A,北京
2,B,

支持范围与限制

输入要求
顶层应当是对象数组。单个对象或标量无法映射成表格行
表头来源
从数组元素的键推断,不同元素键不一致时取并集,缺失的位置留空
嵌套字段
嵌套对象会被平铺为 a.b.c 形式的列名,或按约定序列化为文本
数组字段
元素内部的数组无法用一列表示,通常序列化成字符串
转义规则
含逗号、换行或双引号的字段会被引号包裹,双引号内部再翻倍
类型丢失
CSV 全是文本。数字、布尔和 null 打开后可能被表格软件重新推断成别的类型

典型使用场景

  • 导出接口列表

    把用户、订单或日志对象数组转成 CSV,交给表格软件筛选和汇总。

  • 给非开发同事交付数据

    把结构简单的 JSON 转成普遍可打开的表格文本,不要求接收方安装开发工具。

  • 把接口数据交给数据分析

    分析同事习惯用表格软件做透视和筛选,CSV 是最通用的交接格式。

使用前需要知道的事

  • 工具只提取对象第一层 key;嵌套结构会被字符串化,不会自动设计关系表。
  • CSV 不保存数字、日期或布尔类型,表格软件打开时可能自行推断并改变显示格式。
  • 不同地区的表格软件可能默认使用分号而非逗号,导入时应明确选择 UTF-8 与逗号分隔。

相关概念

header row
CSV 第一行的列名,由对象数组中出现过的第一层 key 合并得到。
CSV quoting
包含逗号、引号或换行的单元格必须放进双引号,内部双引号重复一次。

常见问题

什么样的 JSON 能转成 CSV?
最适合的是对象数组,每个对象是一行、字段名作为表头。工具会汇总所有对象的键生成完整列。
嵌套对象或数组怎么处理?
嵌套字段会按合理方式展开或序列化为单元格内容;如果结构很深,建议先用 JSON Flatten 平铺再导出。
转换会上传数据吗?
不会。JSON 到 CSV 的转换在浏览器本地完成,数据不会上传到服务器。
嵌套字段导出后为什么变成了一长串文本?
表格只有行和列两个维度,装不下嵌套结构。深层对象会被平铺成 a.b.c 形式的列名,数组则通常序列化成字符串。嵌套很深时建议先用 JSON Flatten 处理,再决定保留哪些列。
打开 CSV 后中文乱码怎么办?
导出是 UTF-8,而部分版本的 Excel 默认按本地编码打开。可以改用 JSON → Excel 直接导出 XLSX 避开这个问题,或者在 Excel 里用「数据 → 从文本」并手动指定 UTF-8。