跳到正文

CSV 转 JSON

把 CSV 或 TSV 数据转换为 JSON 数组,支持类型识别和嵌套键,全部在浏览器中完成。

转换为
在浏览器中运行 · 无需上传工作原理

CSV 转 JSON 使用方法

  1. 1

    粘贴或拖入 CSV

    粘贴从电子表格复制的行,或拖入 .csv/.tsv 文件,分隔符会自动检测。

  2. 2

    检查表头和类型

    在预览中确认第一行是列名,并确认数字和日期已被正确识别。

  3. 3

    复制 JSON

    选择对象数组或数组的数组,需要的话可嵌套以点号命名的列,然后复制或下载 .json 文件。

限制与 Pro

CSV 和 TSV 文件最大 500 MB,不限行数。

文件最大 4 GB。 了解 Pro

关于 CSV 转 JSON

CSV 转 JSON 可以把以逗号(或分号、制表符、竖线)分隔的文本转换成 JSON,直接用于 JavaScript、REST API 测试数据、NoSQL 导入或配置文件。表头行提供属性名,所以含有 name、email 和 plan 列的表格,会变成键完全一致的对象数组。

CSV 没有类型,所有内容都是文本,因此转换器会判断每个值在 JSON 中应是什么类型。整数和小数会变成 JSON 数字,true 和 false 会变成布尔值,2024-03-31 这样的 ISO 日期保留为日期字符串,空单元格会变成 null(如果想让对象更精简,也可以直接省略)。看起来像数字的值,例如以 0 开头的邮政编码、电话号码和 16 位 ID,会保持为字符串,不会被悄悄四舍五入。

带点号的列名,如 customer.address.city,可以还原成嵌套对象,这也是 JSON 经电子表格往返处理的常用做法。包含逗号、引号或换行的带引号字段遵循 RFC 4180 规则;旧版 Excel 以 Windows-1252 保存的导出文件也会被正确解码,带重音符号的名字不会乱码。

粘贴几行就能立即试用,也可以拖入几十万行的文件;解析在后台线程中进行,页面不会卡住。

隐私

你粘贴或拖入的 CSV 只在当前浏览器标签页内解析,不会发送到服务器;离开页面后,粘贴的文本也不会被保存。

CSV 转 JSON:常见问题

数字和空单元格在 JSON 中如何表示?
开启类型检测后,42 和 3.14 会变成 JSON 数字,true/false 变成布尔值,空单元格变成 null。开启“忽略空单元格”则会直接省略这些键。以 0 开头或超过 15 位的值会保持为字符串,因为转成数字会改变原值。
我的 CSV 用的是分号,能处理吗?
可以。使用小数逗号的国家常见的分号分隔文件会被自动识别,制表符和竖线同样如此。如果某个特殊文件检测有误,可以在输入选项的“分隔符”中手动选择,预览会立即更新。
没有表头行也能得到 JSON 吗?
如果 CSV 没有表头,请关闭“第一行为表头”,此时各列会被命名为 Column 1、Column 2 等。你也可以选择数组的数组格式,每一行会写成普通列表,完全不需要属性名。
如何从 CSV 生成嵌套的 JSON?
用点号为列命名,例如 user.name 和 user.email,并保持“嵌套点号键”开启。每一行就会变成 {"user": {"name": …, "email": …}}。tags.0、tags.1 这样的数字段会变成数组,这正是 JSON 导出为 CSV 时展平操作的逆过程。
可以输出 JSON Lines(NDJSON)吗?
不能直接输出,结果是单个 JSON 文档。如果需要每行一个对象,可选择紧凑(非美化)的对象数组输出,再稍作修改;反过来,每行一个对象的 JSON Lines 输入会被自动读取并转成表格。

此工具的其他用途