JSON 转 CSV
将 JSON 对象数组转换为 CSV 格式。
把 JSON 转换为 CSV 是什么
从 API 取得的 JSON 是以机器处理为前提的格式,直接以电子表格软件开启并不可行。本工具会读取 JSON 的对象数组,将键作为标题列、各元素作为一行,转换成 CSV。转换后即成为可在 Excel 或 Google 电子表格中汇总、排序的形式。
这里有两项前提。其一是对象必须是对象的数组;单个对象请以数组包起来后再输入。其二是深层嵌套的处理。若值本身是对象或数组,并不会展开为多个字段,而是以 JSON 字符串原样填入储存格。事先加以扁平化会更容易处理。
JSON→CSV 转换的步骤
- 贴上 JSON 将对象的数组贴入输入栏。直接复制 API 的回应亦无妨。
- 确认转换结果 键会成为标题列,每个元素排成一行。请确认是否出现了预期的字段。
- 下载 CSV 字符编码为 UTF-8。若以 Excel 开启时出现乱码,请在导入时指定 UTF-8。
用好本工具的小技巧
- 输入必须是 JSON 对象数组格式(
[{}, {}, ...]),不支持单个对象。 - 需要在 Excel 或 Google 表格中处理 REST API 响应数据时非常方便。
- 深层嵌套对象或数组的值不会被展平,将以 JSON字符串(如
{"a":1})形式输出。 - 下载的 CSV 文件编码为 UTF-8。若在 Excel 中出现乱码,请以 UTF-8(带 BOM)方式打开。
JSON→CSV 转换的实用场景
汇总 API 的回应
将取得的数据转成 CSV,即可直接以电子表格的函数或枢纽分析表进行汇总。
分享给非工程人员
对于直接给 JSON 也读不懂的对象,可以表格形式交付。更便于请对方确认或修正。
作为资料迁移的中间格式
在将资料移往支持 CSV 导入的工具时,可用于转换。许多服务都支持 CSV 导入。
确认条数与缺漏
做成表格后,行数与空栏一目了然。适合用来检查是否凑齐了预期的条数。
JSON·CSV 的术语
- 对象数组
- 以
[{...}, {...}]形式排列多个对象的结构。由于对应表格的各行,因此可转换为 CSV。 - 键(Key)
- 在对象内指向值的名称。在 CSV 中会成为标题列的字段名。
- 嵌套
- 值之中又含有对象或数组的嵌套结构。是无法顺利收进表格形式的部分。
- 扁平化
- 指将嵌套展开、改为单一层级。事先处理后即可作为 CSV 的字段来对待。
- BOM
- 加在文件开头的字符编码标记。用于希望让 Excel 正确开启 UTF-8 的 CSV 时。
常见问题
[{}, {}])。若您只有单个对象,请先将其包裹在数组中(例如:[{}])。{"a":1})的形式输出。如需将这些值放入独立的列,请在转换前先展平 JSON 结构。
闲话 ― JSON 的诞生:是"发现"而非"发明"
JSON(JavaScript Object Notation)由 Douglas Crockford 于 2001 年前后整理成型。他曾表示,自己并非发明了 JSON,而是发现了它——因为他只是将 JavaScript 本就存在的对象字面量语法标准化为数据交换格式。
从 2006 年前后,随着 Ajax(异步通信)的普及,JSON 迅速流行。与 XML 冗长的语法相比,简洁的 JSON 深受开发者青睐。尽管早期曾有"JSON 无法取代 XML"的质疑,如今 JSON 已成为 REST API 的标准数据格式。
一个有趣的花絮:Crockford 在 JSON 规范的版权声明中加入了"The Software shall be used for Good, not Evil."这一条款,导致 Google、IBM 等大公司的法务部门因无法判定"善恶"而要求获得正式授权,引发了一场小小的风波。