在线 CSV to JSON 转换器

在你的浏览器中将 CSV 或 TSV 转换为干净的 JSON,支持数字、布尔值、ISO 日期与 null 推断,以及点号表头嵌套。你的数据始终保留在本地。

这款 CSV to JSON 转换器完全在你的浏览器中运行。你粘贴的 CSV 或拖入的 .csv 文件在你的设备上被解析,绝不会上传到 ArrayKit。

打开 JSON to CSV 转换器

关于 CSV to JSON 转换器

这款 CSV to JSON 转换器可解析粘贴的 CSV、TSV 或拖入的 .csv 文件,并将每一行转换为一个 JSON 对象。它能处理带引号的字段、内嵌的逗号和换行,并自动检测分隔符,你也可以强制指定逗号、制表符、分号或竖线。开启类型推断后,会把 42 转换为数字,把 true 和 false 转换为布尔值,把 2020-01-01 转换为 ISO 日期,把空单元格转换为 null,让输出可以直接使用,而不再全是字符串。像 user.name 这样的点号表头会展开为嵌套对象,你可以输出一个普通的对象数组,或以首列为键的映射。它非常适合用于填充数据库、模拟 API 或导入电子表格导出的数据。一切都在你的设备上运行——不上传任何行数据。

功能特性

如何使用 CSV to JSON 转换器

  1. 将你的 CSV 或 TSV 粘贴进来,或将 .csv 文件拖入输入框
  2. 选择分隔符或保持「自动」,并设置首行是否为表头
  3. 切换数字、布尔值、ISO 日期与 null 推断以及点号表头嵌套
  4. 选择对象数组,或以首列为键的映射
  5. 复制 JSON,或将其下载为 data.json

示例

输入

id,user.name,active
1,Ada,true
2,Linus,false

输出

[
  { "id": 1, "user": { "name": "Ada" }, "active": true },
  { "id": 2, "user": { "name": "Linus" }, "active": false }
]

开启推断和点号表头嵌套后,id 变为数字,active 变为布尔值,而 user.name 会嵌套。

常见错误与故障排除

常见问题

CSV to JSON 如何处理类型推断?
每个字符串单元格会按顺序被检查:空值和 'null' 变为 null,'true'/'false' 变为布尔值,像 42 或 -3.14 这样的纯数字字符串变为数字,像 2020-01-01 这样的 ISO 日期会规范化为 ISO 时间戳。每一种转换都是一个可关闭的开关,用于保留原始字符串。
为什么我带前导零的 ID 会保持为字符串?
像 007 或 01 这样的值会被有意保留为字符串,以免账号、邮编和电话号码被破坏。只有不带前导零的数字(或单个 0)才会被转换为 JSON 数字。
我可以把像 user.name 这样的列转换成嵌套 JSON 吗?
可以。开启点号表头嵌套后,user.name、user.role 这样的表头会为每一行变成 { "user": { "name": ..., "role": ... } }。不含点号的表头会保持扁平。
数组输出和键控输出有什么区别?
数组输出给出一个 JSON 数组,其中每一行都是一个对象。键控输出给出单个对象,其键为首列的各个值,因此你可以通过 id 查找某一行,而不必遍历数组。
它能处理制表符分隔或分号分隔的文件吗?
可以。将分隔符保持为「自动」以自动检测,或强制使用制表符处理 TSV、分号处理欧洲地区的导出文件,或使用竖线。无论哪种方式,带内嵌分隔符和换行的带引号字段都会被正确解析。
转换时我的 CSV 会被上传吗?
不会。CSV 使用 JavaScript 在你的浏览器中被解析并转换为 JSON。你粘贴的行或拖入的文件绝不会离开你的设备,也不会发送到 ArrayKit。

相关工具

全部 ArrayKit 工具