三步将 JSON 转换为 CSV
- 添加 JSON 数据。粘贴对象或数组,或上传支持的
.json文件。 - 选择转换规则。选择记录数组、分隔符、标题行为以及嵌套数据选项。
- 查看并导出。检查表格预览,复制 CSV 文本或下载
.csv文件。
此工具应接受的 JSON 结构
对象数组
对象数组是 CSV 最清晰的来源,因为每个对象成为一行。
[
{"id": 1, "name": "Ada"},
{"id": 2, "name": "Lin"}
]
键成为列,对象成为行。
单个对象
单个扁平对象成为一行 CSV。如果对象包含嵌套的记录数组,工具允许您选择该数组作为记录源。
{
"results": [
{"id": 1, "status": "active"},
{"id": 2, "status": "paused"}
],
"count": 2
}
选择 results 会创建两行。包装值 count 不会成为第三条记录。
具有不同键的对象
真实的 JSON 数组并不总是包含相同的对象。转换器会在所选记录中构建键的并集。
[
{"id": 1, "email": "[email protected]"},
{"id": 2, "phone": "555-0100"}
]
CSV 包含 id、email 和 phone 列,如果记录不包含该键,则值为空。
扁平化嵌套 JSON
嵌套对象不能直接放入普通的 CSV 列。此工具将基本对象路径扁平化为列名。
{
"user": {
"name": "Ada",
"address": {
"city": "London"
}
}
}
建议的列:
user.name
user.address.city
选项面板包括是否扁平化嵌套对象、路径分隔符、最大扁平化深度以及达到最大深度后的行为。
选择数组的写入方式
数组需要明确的输出规则,因为一个 CSV 单元格无法自然地表示重复的结构化记录。
- 连接原始值:
["red","blue"]变为red, blue。 - 保留为 JSON:将完整数组文本保留在一个引用的单元格中。
- 留空:仅作为用户明确选择,绝不是静默默认。
CSV 输出选项
分隔符
选择逗号、分号、制表符、竖线或支持的自定义单字符。所选分隔符一致应用于标题和每一行。
标题行
默认输出包含列名。切换开关可移除标题,适用于仅接受原始行的系统。
引用
包含分隔符、引号或换行符的 CSV 值会被正确引用。引用字段内的字面引号会被转义。
- 最小引用
- 引用所有字段
- 行结束符
- 需要时包含 UTF-8 BOM 以兼容电子表格
空值和 null 值
选择如何表示 null、缺失键和空字符串:空单元格、字面量 null 或自定义占位符。预览在下载前使差异可见。
预览生成的 CSV
预览显示检测到的记录数、生成的列数、所选记录路径以及对象形状不一致或嵌套数组的警告,以及前几行的表格视图。当您需要检查引用时,可查看原始 CSV 输出。
常见的 JSON 转 CSV 问题
输出只有一行
所选 JSON 值可能是一个单个对象,而不是记录数组。选择包含记录的嵌套数组。
嵌套字段缺失
启用扁平化或选择“将嵌套值保留为 JSON”。当值超过配置的扁平化深度时,工具会发出警告。
某些行有空白单元格
JSON 对象包含不同的键或缺失值。CSV 需要一组共享的列,因此缺失值变为空单元格或所选占位符。
数组在 Excel 中不可读
更改数组策略。对于简单标签,连接原始值;当结构重要时,保留原始数组为紧凑 JSON。
重音字符显示不正确
使用 UTF-8 兼容设置下载,并使用正确的编码打开文件。如果存在 BOM 选项,它只更改字节前缀;不会重新编码内容。
JSON 转 CSV 常见问题
此转换器能处理嵌套 JSON 吗?
可以,对于选项面板中实现的扁平化行为。嵌套对象键可以成为基于路径的列。嵌套数组需要单独的数组策略。
CSV 标题是如何创建的?
转换器根据所选记录中发现的键构建标题。当记录具有不同的键时,这些键的并集成为完整的标题集。
JSON 数组会怎样?
原始数组可以连接或保留为 JSON 文本。对象数组保留为 JSON,而不是连接成不可用的文本。
数字和布尔值会保留吗?
它们的文本表示会写入 CSV。CSV 本身不保留 JSON 类型,因此下游软件决定如何解释每个单元格。
JSON 会上传吗?
不会——您粘贴的数据完全在您的浏览器中处理。超过浏览器处理限制的文件会提供可选的服务器回退,未经您的同意不会上传任何内容。
我可以从 CSV 转换回 JSON 吗?
可以。使用 CSV 转 JSON 转换器,并选择与文件匹配的标题和类型检测选项。