JSON 转 CSV 转换器
将扁平 JSON 记录转换为表格,无需舍入大型标识符或猜测列。粘贴 JSON 或选择本地 UTF-8 文件,选择分隔符,然后复制或下载已检查的输出。
转换扁平记录数组
- 选择“粘贴的 JSON”或“本地文件”。文件必须使用 UTF-8,以 .json 或 .txt 结尾,且不超过 2 MiB。源必须是非空的对象数组,值只能是字符串、数字、布尔值或 null。不支持嵌套值和 JSON Lines。
- 选择逗号、分号或制表符。“为类似公式的单元格添加前缀”默认关闭:启用后会改变匹配的表头和值,包括负数,且不保证电子表格安全。“使用示例”会填入两条记录,但不会开始转换。
- 选择“转换”并查看数据行数、列数和输出字节数。“转换详情”展示记录如何变为按首次出现顺序排列的列和带引号的文本。即使默认预览被缩短,复制和下载仍使用当前完整输出。
了解表格及其限制
按记录顺序和对象中成员的书写顺序读取,列按解码后键的首次出现顺序排列。看似数字的键不会排序。后出现的键会添加列,之前的行在这些列中为空。如果其他记录提供了列,空对象仍保留为行;没有列的文档无法转换。
字符串保留解码后的字符。关闭前缀时,9007199254740993、1.2300、1e+03 和 -0 等数字文本保留原始写法,不会作为浏览器数字求值。布尔值变为 true 或 false。null、缺失成员和空字符串都变为空 CSV 单元格,结果分别显示其数量。
CSV 不能还原为原始 JSON,也不保留类型。数字和内容相同的 JSON 字符串可能生成相同的单元格。即使所有字段都带引号,电子表格软件仍可能更改前导零、大数字、日期或公式。请选择匹配的分隔符和文本导入设置,不要假设双击打开会保留值。
每个输出字段都带引号,内部引号加倍。每条记录(包括最后一条)以 CRLF 结束;字段内的 CRLF、LF、CR 和制表符会保留。输出为无 BOM 的 UTF-8。分号和制表符是明确的方言,不保证所有 CSV 或 TSV 读取器都能处理其引号。
查看提供的记录
提供的 86 字节示例生成两行数据和五列,按首次出现顺序排列:10、2、name、new 和 flag。使用逗号且关闭前缀时,输出为 97 个 UTF-8 字节,包括表头和末尾 CRLF。大型标识符和 1e+03 保持原样,名称中的逗号和引号保留在同一字段内。
同一示例包含四个缺失成员、一个 null 和零个空字符串值。这五个单元格在 CSV 中都显示为空,但计数会分别显示原因。一个字段 -0 符合类似公式的判断规则。添加前缀后它变为 '-0,输出变为 98 字节;这是明确的数据更改,并非安全保证。
空对象后跟包含 a: 1 的记录,会生成表头 a、一个空的首行数据单元格,然后是 1。空数组或仅包含空对象的数组因没有表格列而无法转换。同一记录中以不同转义方式写出的相同解码后键也会导致转换失败,而不会覆盖值。
明确的限制和不支持的数据
原始文件和粘贴文本的 UTF-8 大小上限为 2097152 字节;原始或解码后的源也不得超过 2097152 个 UTF-16 码元。表格最多包含 10000 行数据、256 个合并列和 250000 个数据单元格,按行数乘列数计算,包括空单元格。添加前缀前,键、解码后的字符串或数字标记最多为 65536 个 Unicode 标量字符。
输出上限为 4194304 个 UTF-8 字节,包括引号、前缀和末尾 CRLF。工作线程运行超过 15000 毫秒会被终止,不导出部分结果。普通预览最多显示 100000 个 Unicode 标量;复制、其完整只读备用文本和下载使用完整的已接受输出。
键不能为空,也不能仅包含 ASCII 空格、制表符、CR 或 LF。重复的解码后键、未配对的代理项,以及解码后除制表符、CR 和 LF 以外的 ASCII 控制字符均会被拒绝;DEL 也会被拒绝。这些是有意设置的表格互操作性限制,并不意味着所有被拒绝的源都违反 JSON 语法。允许一个开头签名,但 JSON 文本之外的第二个签名不会被忽略。
如果单元格以制表符、CR 或 LF 开头,或者跳过开头的 ASCII 空格、制表符、CR 和 LF 后的首字符为 =、+、-、@ 或其全角形式,前缀功能会在单元格前添加一个英文单引号。原有空白保留。此规则也适用于表头;如果产生重复表头,转换将失败。这不是通用净化措施,其他软件可能改变或撤销其效果。
本地文件和当前输出
此工具不增加文档上传、账户、保存的历史记录、源内容日志或携带数据的分享网址。编辑、更改来源或选项、替换文件、取消或清除都会使旧输出失效。现有网站服务仍受网站政策约束;本地处理并不代表对这些服务或部署的认证。
关于 JSON 转 CSV 的常见问题
来源和格式参考
- rfc-editor.orgRFC 8259RFC 8259 描述 JSON;此转换器接受范围更窄的扁平且可互操作的格式。
- rfc-editor.orgRFC 4180RFC 4180 描述常见的逗号分隔格式和引号加倍;分号和制表符是不同的方言。
- encoding.spec.whatwg.orgEncoding StandardEncoding Standard 描述 UTF-8 解码和字节签名。
- owasp.orgOWASPOWASP 描述电子表格公式注入及缓解措施的局限。
- support.microsoft.comMicrosoft ExcelMicrosoft 描述电子表格软件如何更改前导零和大数字。
