CSV 转 JSON
需要把表格数据做成测试数据、初始化数据或配置文件?本工具读取表头作为键名,把后面的每一行转成一个 JSON 对象,还可以按需转换数字和布尔值。
所有处理都在浏览器中完成,CSV 不会上传到任何地方。
你的文件和文本只在当前浏览器中处理,不会上传或保存到服务器。
使用方法
- 打开 CSV 文件(最大 50 MB),或粘贴 CSV 文本。
- 确认自动识别的分隔符和编码。
- 选择第一行是否为键名,以及是否自动转换类型。
- 选择美化或压缩输出,然后复制或下载。
功能与限制
- 自动识别分隔符;文本优先按 UTF-8 读取,不是 UTF-8 时按 GB18030(兼容 GBK)读取,中文版 Excel 导出的 CSV 也不会乱码。
- 使用表头时,空列名会变成 column_N,重复的列名会加上 _2 这样的后缀,不会互相覆盖。
- 不使用表头时,输出为二维数组,每行一个数组。
- 类型转换会处理数字、true/false 和空单元格(null);以 0 开头的值和超过 15 位的整数保留为字符串,避免信息丢失。
- 输出可选 2 个空格缩进的美化格式,或压缩为一行。
常见问题
为什么 JSON 里的数字还是字符串?
可能是没有开启类型转换,或者这个值以 0 开头(如 00123),或超过了 15 位。这些值是特意保留为字符串的,以免被改动。
身份证号、订单号这类长数字转成 JSON 会丢精度吗?
JavaScript 的数字只能精确表示大约 15~16 位,更长的整数会被四舍五入。所以本工具把超过 15 位的整数保留为字符串,18 位身份证号也能原样保留。
没有表头的 CSV 能转换吗?
可以。关闭表头选项后,会得到包含所有行的二维数组。
列名重复会怎样?
第二次出现的列名会加上 _2 后缀(之后依次为 _3 等),每个值都保有自己的键。