JSON 转 Excel 在线转换

把 JSON 粘进来,核对一下表格,然后下载 .xlsx。别人发来一份接口返回的数据、又要你转成表格的时候用得上。

输入

The only part of this site that uses a server. The address is sent to it so the page can be fetched, because a browser is not allowed to fetch someone else's page itself. Your own files are never involved.

这里不上传任何东西,解析在本页完成。
编辑
在上面粘贴或上传内容,表格会显示在这里。
输出DataMarkupDocumentsCodeSchemasImages

有表格可以转换时,结果会显示在这里。

JSON 是什么

JSON 是描述嵌套数据的文本格式:带键名的对象、数组、字符串、数字、布尔值和 null。它没有日期类型,也没有注释语法。

所有 Web API、大部分配置文件,以及任何跟 JavaScript 打交道的东西。

Excel 是什么

Excel 工作簿本质上是一个 zip 压缩包,里面是描述工作表、单元格、公式、样式和图表的 XML。.xlsx 就是这种格式,.xls 是 2007 年以前的二进制格式。

财务、运营,以及所有收到过财务和运营发来的文件的人。

JSON 转成 Excel 时会发生什么变化

四种结构都能正确读取:对象数组、带表头行的二维数组、每列一个数组的对象,以及以行 ID 为键的对象。大多数 API 返回的那种「外面套一层 key、里面是数组」的结构会自动拆开。嵌套一层会展平成带点的列名,再深的结构会以 JSON 文本留在单元格里,因为表格装不下一棵树。

输出一个工作表,带表头行,列宽按内容自动设定。除非打开数字识别,否则值都按文本写入,这样 0044 或 007 这类编号不会掉前导零。

键名变成表头,每条记录变成一行。字段不完全一致的记录会取并集,所以某些记录才有的字段会成为一列,其余行留空。

嵌套的对象会展平一层,变成带点的列名。再深的结构以 JSON 文本留在单元格里,这样数据还在,只是换了个形式,而不是被悄悄丢掉。

列宽按内容设定,打开文件时不会看到一排 ######。

常见问题

怎么把 JSON 转成 Excel?

把 JSON 粘进上面的框,或者把文件拖进去。在表格里核对一下,然后从输出面板复制或下载 Excel。一步就够了,数据始终不离开你的浏览器。

为什么我的编号前面的零不见了?

数字识别把文本 007 变成了数字 7。正因为如此,这里默认不开启数字识别;即使开启,以零开头后面还跟数字的值也会保持为文本。

转成 Excel 之后公式还在吗?

不在。表格里只有值,没有公式。如果数据本来就是从 Excel 出来的,公式在到达这个页面之前就已经算成结果了。原来是 =SUM(A1:A10) 的地方,拿到的是它算出来的那个数。

接口返回的外面套了一层 data,需要我先删掉吗?

不用。如果一个对象只有少数几个键、其中一个键的值是数组,会自动把那个数组当作数据行,外面那层的其他字段忽略掉。

文件大小有限制吗?

没有。处理是在你自己的机器上完成的,所以限制来自你的内存而不是上传额度。几万行的文件一两秒就转完了。

我的数据会被上传吗?

不会。解析和生成都是本页的 JavaScript 做的。你可以一边转换一边看浏览器的网络面板,会看到什么都没有发出去。

相关转换

其他语言: English