使用方法
- 把数据粘贴到“由对象组成的 JSON 数组”中。单个对象也可以。
- 选择“数值之间的分隔符”。若您的 Excel 要求分号,请选择“分号(;)”。
- 保持“展开嵌套对象”勾选,可把嵌套对象拆分为多列;取消勾选则把它们写成 JSON 文本。
- 检查“有效性”,然后复制“CSV 文本”,或下载为 data.csv。
行与列是如何形成的
每个对象变为一行。列是数据中出现过的所有名称,按它们第一次出现的顺序排列。对象缺少某个名称时,该单元格留空。文本按文本写出,数字按输入的原样写出,true 和 false 写作单词,null 写作空单元格。
- 展开开启时,对象中的对象按名称拆分为一列:address 中的 zip 变为列 address.zip。空对象写作 {}。
- 数组总是写成 JSON 文本,例如 ["json","csv"],因为一个单元格只保存一个值。
- 同一个对象中出现两次的名称会被拒绝,因为一列无法保存两个值。
引号与分隔符(RFC 4180)
RFC 4180 描述了 CSV 的常见形式。行以 CRLF 结束。包含分隔符、双引号或换行的字段要用双引号括起,字段内部的每个双引号要写两次。
在中文环境的 Excel 中,若文件每一行都挤在同一列里,说明分隔符与它的设置不符。请改选另一种分隔符,然后重新转换。文件以字节顺序标记开头,因此汉字和其他非英文字母都能被正确读取。
示例:两个人,其中一人有嵌套对象
默认文本有两个对象。第一个对象有一个带邮编的地址。第二个对象没有城市和地址,它的备注含有引号,它的名称含有逗号。
标题行按名称第一次出现的顺序列出:id、name、city、address.zip 和 note。第二行的逗号留在引号之内,“好的”两侧的引号各被写成了两个。
| 行 | 写入的内容 |
|---|---|
| 1 | id,name,city,address.zip,note |
| 2 | 1,王芳,北京,100000, |
| 3 | 2,"陈伟, 王明",,,"他说 ""好的""" |
常见问题
为什么我的 CSV 在 Excel 里全部挤在一列?
Excel 从系统的区域设置中取得分隔符。若它需要分号,而文件用的是逗号,每一行都会挤在同一列里。请把分隔符改为分号(;),然后重新转换。
文件开头为什么有一个奇怪的字符?
那是字节顺序标记,一个看不见的字符,它告诉 Excel 和其他程序这是 UTF-8 文件。它保证文件打开时汉字和其他字母显示正确。
转换时数字会被四舍五入吗?
不会。数字按 JSON 中输入的原样写出,因此像12345678901234567890这样的编号会保留每一位数字。
对象中的数组会怎样?
数组变为一个单元格中的 JSON 文本,例如 ["json","csv"],其中的双引号按 RFC 4180 的要求写成两个。内容没有丢失,但表格软件无法单独对其中的项目排序。
同一个对象中重复的名称为什么会被拒绝?
一列在每一行只能保存一个值。同一个对象中有两个相同的名称时,该列就没有唯一的值,因此工具要求您删除其中一个。
我的数据会被上传到什么地方吗?
不会。转换在您的浏览器中进行,您粘贴的内容不会被发送到我们的服务器,也不会被存储在那里。
资料来源
- RFC 4180:Common Format and MIME Type for Comma-Separated Values (CSV) Files(英文)
- RFC 8259:The JavaScript Object Notation (JSON) Data Interchange Format(英文)
数据和文字最近核对于2026年11月10日星期二。