JSON转CSV

在你的设备上运行 · 你的文件从不离开你的设备。

拖入.json文件,或者直接粘贴接口返回的JSON,得到一个能在Excel、WPS、Google表格或任何导入界面打开的CSV。顶层是列表就一项一行;对象里只包着一个列表(比如{"data": [...]})就用那个列表;其他对象变成一行。

规则是固定的,结果可以预期:嵌套对象变成点分隔的列(address.city),纯值列表在一个单元格里用分号连接,记录里的对象列表变成带序号的列(items.0.name)。表头是所有出现过的键的并集,按首次出现的顺序排列,缺字段的记录对应单元格留空。

CSV按RFC 4180写出——含逗号、引号或换行的字段会正确加引号——UTF-8编码,可选加BOM,让Excel正确显示中文和各种符号。下载前能看到前200行的预览,什么都不会离开你的设备。

如何JSON转CSV

  1. 拖入JSON文件,或者把JSON粘贴到文本框。
  2. 选择输出的列分隔符(默认逗号),决定要不要加Excel的BOM。
  3. 点击“转换为CSV”,看一下前几行的预览。
  4. 下载.csv。

支持的格式与限制

输入
JSON(.json)——文件或粘贴的文本,UTF-8
输出
CSV,RFC 4180,UTF-8,CRLF换行,可选BOM
嵌套
对象→点分隔的列;值列表→用;连接
分隔符
逗号、分号、制表符或竖线
运行位置
在浏览器本地完成,不上传

不适用于: 里面没有列表、层层嵌套的单个对象——能转,但会变成一行很宽的记录,而不是一张表。

常见问题

我的文件会上传到服务器吗?
不会。转换完全在你的浏览器里完成,用的是你自己设备的算力。文件不会离开你的电脑或手机——所以页面加载完成后,断网也照样能用。
嵌套的对象和数组怎么处理?
嵌套对象会展平成点分隔的列:{"address":{"city":"北京"}}变成一列address.city。纯值列表("tags": ["a","b"])在一个单元格里写成a;b。记录里的对象列表变成带序号的列,如items.0.name、items.1.name。
我的JSON是对象不是列表,会得到什么?
如果对象只包着一个列表——常见的{"results": [...]}这种——那个列表就是行。否则整个对象写成一行,每个键一列。
Excel打开显示乱码怎么办?
文件开头没有BOM时Excel会猜编码。“为Excel添加BOM”开关默认打开,会加上那三个字节的标记;如果对方工具要求纯UTF-8,把它关掉。

表格与数据中的更多工具

获得 CSV 的其他方式

相关工具