跳到主内容
UniKit

CSV / JSON 互转

CSV/TSV 与 JSON 双向转换:自动识别逗号、分号、Tab、竖线分隔符,支持表头开关、数字/布尔/null 类型推断、引号与内嵌换行,列数不一致时给出提示,并附上前 10 行的表格预览。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

转换结果

这个工具能做什么

  • 把 Excel / Numbers 导出的 CSV 变成 JSON 数组,直接喂给接口或前端 mock,不用写脚本。
  • 反向也行:把接口返回的 JSON 对象数组转回 CSV,方便丢进表格里做人工核对。
  • 处理欧洲风格的分号分隔文件,或字段里带逗号、换行、双引号的脏数据——分隔符自动识别,RFC 4180 规则解析。
  • 排查 JSON 语法错误:不用 JSON.parse,解析失败会给出第几行第几列、具体是什么问题(缺冒号、未闭合字符串、多余内容等)。

示例

输入

name,age,city
Alice,30,"Beijing, CN"
Bob,25,Shanghai

输出

[
  {
    "name": "Alice",
    "age": 30,
    "city": "Beijing, CN"
  },
  {
    "name": "Bob",
    "age": 25,
    "city": "Shanghai"
  }
]

带逗号的单元格先由解析器去掉外层引号,再作为完整字符串输出;30、25 被无损推断成数字。

常见问题

类型推断会不会把 007 变成 7?

不会。推断是无损的:只有把数字转回字符串后和原文完全一致的才当数字(1、-2.5 可以,007、1.50、1e3 不行),空单元格变成 null,true / false 变成布尔值。不需要推断就取消勾选。

某一行列数和表头对不上会怎样?

会给出带行号的提示,缺的格子按空值处理(推断为 null),多的列直接丢弃。转换仍会完成,所以不会因为一行格式错误就丢掉整个文件。

JSON 转 CSV 支持哪些结构?

支持对象数组(表头取所有对象键的并集,按首次出现顺序)和数组的数组。最外层不是数组、或数组里混着数字字符串这类情况会报「需要对象数组或数组的数组」。

首行不是表头怎么办?

取消勾选「首行是表头」,列名会按位置生成 column1、column2……,首行内容当作第一条数据。表头里有重名或空列名时,会自动补成 name_2 和 column3,避免生成重复键。

数据会上传到服务器吗?

不会。解析、转换、序列化全部在浏览器里完成,页面不发任何网络请求,断网也能用,敏感数据可以放心粘贴。

关键词:csvtsvcsv 转 jsonjson 转 csvcsv to jsonjson to csv分隔符delimiter表格convert

同类工具