CSV 与 JSON 互转

表格软件导出 CSV,API 说 JSON,于是两者之间的鸿沟需要不断跨越——从报表里导出的一列记录要当作请求体发出去,或者一个响应要落进别人会读的表格里。这个转换器双向工作,并且能正确处理那些让「按逗号切分」栽跟头的部分:带引号的字段、字段内部的逗号和换行、以及成对的双引号。它还能把值读成真实类型,让一列数字以数字而非字符串的形式抵达。整个转换都在浏览器里进行,这很重要,因为导出的表格通常塞满了客户数据。

如何在 CSV 和 JSON 之间转换

  1. 选择方向:CSV 转 JSON,或 JSON 转 CSV。
  2. 把数据粘进方框,或把 .csv、.tsv 或 .json 文件拖进来。
  3. 如果文件不用逗号,请设置分隔符——欧洲的导出常用分号,从表格里复制出来的数据常用制表符。
  4. 决定第一行是否为列名、以及看起来像数字或 true/false 的值是否要转换类型,然后按「转换」,复制或下载结果。

关于 CSV 与 JSON 转换的常见问题

我的数据会被上传吗?

不会。文件由你的浏览器在页面内读取和解析,什么都不会经过网络——当导出内容包含姓名、邮箱或订单记录时,这一点值得知道。

它能处理字段里的逗号和换行吗?

可以。解析遵循 RFC 4180:用双引号包裹的字段可以包含分隔符、换行,以及用成对双引号表示的一个字面引号——表格软件在单元格里存地址或整句话时,写出来的正是这个样子。

为什么我的邮编丢了前导零?

并没有丢——类型转换特意不去碰它们。像 01234 这样的值不是合法的普通数字,所以会保持为字符串。如果你希望所有值都保持文本,把类型转换整个关掉即可。

列名重复或为空会怎样?

空的表头会变成 column1、column2 等,重复的名字会加上编号后缀。否则后面的列会悄悄覆盖前面的列,因为一个 JSON 对象不能有两个相同的键。

能把嵌套的 JSON 转成 CSV 吗?

只能浅层转换。CSV 是一张扁平的网格,所以嵌套的对象或数组会以 JSON 文本的形式写在它所在的单元格里,而不是展开成多列。若需要每个字段独占一列,请先把结构拍平。

Other tools

Languages