跳到正文
GongsiMap Tools

CSV 转 JSON

需要把表格数据做成测试数据、初始化数据或配置文件?本工具读取表头作为键名,把后面的每一行转成一个 JSON 对象,还可以按需转换数字和布尔值。

所有处理都在浏览器中完成,CSV 不会上传到任何地方。

你的文件和文本只在当前浏览器中处理,不会上传或保存到服务器。

使用方法

  1. 打开 CSV 文件(最大 50 MB),或粘贴 CSV 文本。
  2. 确认自动识别的分隔符和编码。
  3. 选择第一行是否为键名,以及是否自动转换类型。
  4. 选择美化或压缩输出,然后复制或下载。

功能与限制

  • 自动识别分隔符;文本优先按 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 等),每个值都保有自己的键。