CSV 与 JSON 互转
在 CSV 和 JSON 之间互相转换,支持带引号的字段,逗号、分号、制表符或竖线分隔符,类型推断和表格预览。
预览
把工具固定在这里,会保存在此浏览器中。
固定一个工具,它的贴纸就会出现在这里。
在 CSV 和 JSON 之间互相转换,支持带引号的字段,逗号、分号、制表符或竖线分隔符,类型推断和表格预览。
预览
RFC 4180 把 CSV 描述为由换行分隔的记录和由逗号分隔的字段。包含逗号、引号或换行的字段要用双引号括起来,字段中的引号要写两遍。这种格式没有类型,所以每个值都是文本,而且文件本身无法说明它用的是哪种分隔符或哪种字符编码。
实际的文件各不相同。电子表格软件如果设置为用逗号作小数点的地区,导出时通常使用分号;数据库工具常用制表符导出;换行符可能是 CRLF、LF 或 CR。此工具能读取所有这些情况,会去掉字节顺序标记,跳过空行,并把未加引号的字段中零散的引号当作文本保留。
选择自动检测时,工具会分别用逗号、分号、制表符和竖线拆分前 20 行,再根据得到的列数以及有多少行具有相同的列数,给每种分隔符打分。如果某个分隔符会让引号出现在字段中间,它的得分会降低。预览会显示结果,因此猜错时很容易发现,也很容易手动更正。
启用推断类型时,空字段变为 null,true 和 false 变为布尔值,普通的十进制数字变为 JSON 数字,并保持原来的写法,因此 49.90 仍是 49.90。其他内容都保持为字符串,包括只是看起来像数字的值:007、+39 和 1e5 更常见的是编号,而不是数量。
字段数比表头少或多的行仍会被转换,并列出它的行号。在对象数组中,缺失的键会被省略,多出的字段按位置命名为 column_N。空的表头单元格也会得到同样形式的名称,重复的名称会加上 _2 这样的后缀,这样任何值都不会覆盖另一个值。
对象数组中的每个对象成为一行。表头是所有键的并集,按照首次出现的顺序排列,缺少某个键的对象在对应位置得到一个空字段。嵌套的数组或对象以 JSON 文本的形式写入单元格,null 变为空字段。二维数组按原样逐行写出。
只有包含分隔符、引号或换行的字段才会加引号。下载的文件按 RFC 4180 的规定用 CRLF 分隔记录。
不会。文件由你的浏览器读取,并在你的设备上转换。此工具不会用它发出任何网络请求,网站的安全策略也会阻止向其他任何主机发出请求。
JSON 数字不能有前导零,而把 007 变成 7 会丢失邮政编码或产品编号中的信息。工具只转换普通的十进制数字。关闭类型推断可以把所有值都保留为字符串。
在列表中自己选择分隔符。检测只看前 20 行,遇到只有一列的文件或各行很不规则的文件时可能会判断错误。预览标题旁边的那一行会写出检测到的分隔符。
双引号中的字段可以包含换行,它们在 JSON 字符串中会变成 \n。警告中的行号是文件中的行号,因此在这样的字段之后,行号会大于数据行的序号。
它会在独立窗口中打开,离线时也能使用。
要安装,请点按“分享”按钮,然后选择“添加到主屏幕”。