JSON转CSV
把API响应或NDJSON导出展平成电子表格,每条记录的每个字段都保留为单独的一列。
把文件拖到这里
.json, .ndjson, .txt · 最大300 MB
更多设置收起设置
如何转换为CSV
- 1
拖入JSON文件
把.json或.ndjson文件拖到页面上。普通数组、单个对象或每行一条记录都可以。
- 2
指定数组位置并选择分隔符
如果记录在外层包装里,输入通往它们的路径,比如data.items。然后选择你的电子表格需要的分隔符。
- 3
转换并下载CSV
点击按钮保存表格,可以直接用Excel、Numbers或Google Sheets打开。
表头取自所有记录
只从第一条记录读取键的转换器,会悄悄丢掉第九百条记录里才第一次出现的字段,直到几周后某一列变成空的才有人发现。这里先遍历整个文件,把所有键的并集按首次出现的顺序作为表头,然后才写入各行。
嵌套对象变成点号命名的列
CSV没有地方放结构,所以记录里的对象会展开成名为user.address.city这样的列。超过深度限制的部分写成紧凑的JSON字符串,而不是丢弃。数组可以合并到一个单元格,分散到编号的列,或者保留为JSON文本。
Excel无需导入对话框就能打开
默认输出是带字节顺序标记(BOM)的UTF-8,行尾为CRLF,这样双击打开时Excel才能正确显示带重音的字母和西里尔文字。旧工具可以用Windows-1251;它无法表示的字符会变成问号,并告诉你有多少个。
数据留在标签页里
解析JSON、收集表头、展平记录和编码CSV都在你的浏览器中本地运行。不上传,不在你无法控制的机器上排队,也无需账号。满是客户记录或API密钥的导出文件不会传到任何地方。
常见问题
记录里的嵌套对象会怎么处理?
它们会展平成点号命名的列,所以藏在user.address里的城市会变成名为user.address.city的列。深度限制防止深层嵌套的数据无限展开:超出限制的部分作为JSON文本写进一个单元格,即使结构没有保留,信息仍然在。
记录在外层包装对象里,怎么取到?
使用顶部的路径字段。写出用点号分隔的键链,例如data.items或result.0.rows,转换器就从那里开始。如果路径无法解析,报错会列出文件里实际存在的顶层键,方便你改正。
为什么Excel把整行放在一列里?
Excel按系统区域设置里配置的分隔符拆分,欧洲很多地区用的是分号而不是逗号。选择分号作为分隔符重新转换,各列就对齐了。Google Sheets导入时会自动检测分隔符,所以两种情况都不受影响。
文件开头的BOM有什么用?
这三个字节在Excel开始猜测之前告诉它文件是UTF-8。没有它们,Excel常会假定是旧代码页,把带重音的字母或西里尔文字显示成乱码。如果目标系统不接受这个标记,改一个设置就能输出不带BOM的普通UTF-8。
记录里的数组会怎么处理?
默认用你选择的分隔符合并到一个单元格,适合较短的标签列表。也可以分散到tags.0到tags.4这样的编号列,最多五十列并给出警告;当内容比布局更重要时,还可以写成JSON字符串。
支持NDJSON输入吗?
支持。如果文件不能作为单个JSON文档解析,就把每个非空行当作一条独立记录解析,NDJSON和JSON Lines导出都能直接处理,无需改任何设置。
为什么以等号开头的值前面多了一个引号?
Excel会把以=、+或@开头的单元格当作公式,不可信导出里精心构造的值,可能在有人打开文件时变成命令。前面加一个撇号就能阻止这种情况。-5或-12.5这样的普通负数保持原样。
我的JSON会上传到哪里吗?
不会。解析器、展平程序和编码器都是在这个页面里运行的JavaScript。全程没有服务器请求,不存储,也不记录你的内容。