CSV 转 JSON
CSV 转 JSON,是把一行一条记录的 CSV 表格转成 JSON 数组:首行表头当 key,每行一个对象,拿到就能喂给接口。粘贴 CSV 或拖入 .csv 文件即可在浏览器本地转换——逗号、分号、制表符自动探测,带逗号引号换行的字段按 RFC 4180 还原,Excel 导出的 GBK 中文换编码即可读对。默认所有值保留为字符串,手机号、邮编开头的 0 不会被吃掉,需要数字和布尔时再打开类型推断。文件不上传服务器,免费不注册。
🔒 CSV 在你的浏览器内转换,未上传任何服务器。
如何使用CSV 转 JSON
把 .csv 文件拖进上方虚线框(也收 .tsv、.txt),或直接把 CSV 文本粘进下面的输入框。读文件时会先按 UTF-8 解码,发现大片乱码会提示并自动切到 GBK,看着中文正常了再往下走。
按需调四项设置:首行是否作为表头(不勾就用 field1、field2 命名,第一行也当数据)、分隔符(默认自动探测逗号/分号/制表符)、类型推断(默认关闭,全部按字符串输出)、美化输出(带缩进好读,关掉体积更小)。
点「转换为 JSON」,页面会显示转出了多少个对象、多少个字段,并预览前 4000 个字符;确认后点「下载 JSON」保存(文件名沿用源 .csv),或点「复制」直接粘进编辑器和接口调试工具。
关于CSV 转 JSON的常见问题
- CSV 转 JSON 会把我的数据上传服务器吗?
- 不会。读文件、解析 CSV、生成 JSON 全部由浏览器里的 JavaScript 在你的设备上完成,页面不会把内容发往任何服务器,也不写入本地存储,关闭或刷新页面即清除。想自己验证:按 F12 打开开发者工具的「网络」面板再转一次,整个过程不会出现上传请求。含客户手机号、订单明细的表格也可以放心粘进来。
- CSV 转 JSON 手机号前导 0 会被吃掉吗?
- 默认不会。工具默认关闭类型推断,所有单元格原样保留为字符串,013800138000、邮编 010001、工号 007 转出来还是带 0 的字符串。即使打开类型推断,带前导 0 的数字串也会被判为字符串而不转成数字——这正是很多人用 Excel 或 Python 直接转 CSV 时踩的坑:0 一旦被当数字读掉,后面再补就对不上原始数据了。
- CSV 转 JSON 的类型推断要不要开?
- 要看这份 JSON 给谁用。开启后纯数字(无前导 0)转成 number、true/false 转成布尔,其余保持字符串,适合直接喂给程序做计算。有一类数据必须留意:18 位身份证号、雪花 ID 这种超过 16 位的长数字串没有前导 0,会被当数字处理,而 JavaScript 的数字精度只到 2^53,110101199003071234 转完会变成 110101199003071230,末位悄悄改掉。拿不准就保持关闭,全按字符串最保真。
- CSV 转 JSON 中文乱码怎么解决?
- 在「源编码(文件)」里从 UTF-8 切到 GBK / GB2312 即可,预览区的中文立刻恢复正常。原因是 Excel 在 Windows 上「另存为 CSV」默认写的是 GBK 编码,而网页默认按 UTF-8 读,一个汉字的两个字节被拆开就成了问号和方块。工具读入文件时会自动检测,疑似乱码会提示并先按 GBK 试一次;若切换后仍乱,多半是文件本身在传输中被改坏了,重新导出一份再转。
- CSV 没有表头怎么转成 JSON 数组?
- 取消勾选「首行作为表头」即可。此时第一行也当作数据,每列按位置命名成 field1、field2……例如「甲,上海」两行数据转出 [{"field1":"甲","field2":"上海"},…]。反过来说,如果你的 CSV 明明有表头却忘了勾选,表头文字会变成第一条记录,检查一下 JSON 的第一个对象就能发现。
- CSV 表头有重复列名转 JSON 会覆盖吗?
- 不会丢数据。JSON 对象里同名 key 只能留一个,所以重复的列名会自动加后缀:表头「name,name」转出的 key 是 name 和 name_2,第三个同名列是 name_3;表头留空的那一列则命名为 field。这样每一列都能对上原表的位置。如果后续程序按固定字段名读取,转完先扫一眼 JSON 的第一个对象,确认没有出现意料之外的 _2 后缀。
- CSV 字段里带逗号引号换行转 JSON 会错行吗?
- 不会。解析严格按 CSV 标准(RFC 4180):双引号包裹的字段内部允许逗号、换行,连续两个双引号表示一个真正的引号。像 "x,1↵2","他说""好""" 这样一行,会正确还原成 x,1 换行 2 和 他说"好" 两个值,不会被拆成四列或断成两条记录。所以带备注、带地址的表格可以直接转,不用先在别处替换掉逗号。
- 分号或 Tab 分隔的 csv 能转成 json 吗?
- 能,默认「自动探测」就够用。工具会数一遍第一条记录里引号外的逗号、分号、制表符,谁多用谁,数量相同时优先逗号——欧洲地区 Excel 导出的分号分隔 CSV、以及数据库导出的 .tsv 都能直接认出来。遇到第一行本身就很特殊(比如只有一列标题)导致猜错时,在「分隔符」里手动选逗号、分号或制表符即可。
- CSV 转 JSON 后还能转回 CSV 表格吗?
- 可以。用本站的 JSON 转 CSV 把这里得到的数组转回表格,一条记录对应一行。有两处会有细微差别:一是空单元格在 JSON 里是空字符串 "",转回 CSV 仍是空格子,但和原来的 null 语义已经分不清;二是开过类型推断的数字、布尔会以裸值写回。想要往返尽量一致,就保持类型推断关闭。
- 手机上怎么把 CSV 转成 JSON?
- 用手机浏览器(iOS Safari、安卓 Chrome、微信内置浏览器都行)打开本页,从「文件」App 里选 .csv,或者长按复制 CSV 文本直接粘进输入框,转换同样在手机本地完成,不用装任何 App。微信里收到的 .csv 要先「用其他应用打开 - 保存到文件」再回本页选择。手机内存有限,几十 MB 的表格建议放到电脑上转。
- CSV 转 JSON 一次能转多大的文件?
- 单个文件上限 100MB,超过会提示先拆分。实际体验里,几 MB、几万行的 CSV 在电脑上通常一两秒转完,手机会慢一些;转出的 JSON 通常比源 CSV 大不少,因为每一行都要重复写一遍字段名,关掉「美化输出」能省掉缩进和换行、体积明显更小。数据再大就按行切成几份分别转,或者交给本机的 Python、jq 处理。
CSV 转 JSON 的字段名和缺列是怎么定的
一句话:key 取首行表头,重名加 _2、空表头补 field,数据行比表头多出来的列补 field3、field4,缺的格子一律是空字符串。 下面几种常见的「不规整 CSV」,转出来分别长这样。
| CSV 输入(首行为表头) | 转出的 JSON | 说明 |
|---|---|---|
| id,name 1,甲 | {"id":"1","name":"甲"} | 常规情况:一行一个对象,值都是字符串 |
| name,name,(第三列表头为空) 甲,乙,丙 | {"name":"甲","name_2":"乙","field":"丙"} | 重名列加 _2、_3;表头空着的列叫 field |
| a,b 1,2,3 | {"a":"1","b":"2","field3":"3"} | 数据行多出的第 3 列补名 field3,不会被丢掉 |
| a,b 1, | {"a":"1","b":""} | 缺值是空字符串 "",不是 null |
| 甲,上海(取消勾选表头) | {"field1":"甲","field2":"上海"} | 不作表头时按列序命名,第一行也算数据 |
| 只有 a,b 一行 | 提示「数据为空,没有可转换的内容。」 | 有表头没数据行会明确报错,不生成空数组 |
最容易被忽略的是第四行:CSV 里的空格子、和写着 null 三个字母的格子,转成 JSON 之后一个是 ""、一个是 "null" 字符串,都不是 JSON 的 null。CSV 本身是纯文本,存不下「这里是空值」这层类型信息,需要区分空值的话,得在下游程序里自己约定。
CSV 转 JSON 什么时候该开类型推断
默认关闭是更稳的选择:全部按字符串输出,转出来的 JSON 和原表一字不差。要拿去做求和、比较、写入强类型字段时再打开, 打开后 1 变成数字 1、true 变成布尔 true,其余仍是字符串。
相关工具:想把 JSON 数组变回表格,用 JSON 转 CSV;源文件是 xlsx 而不是 csv,直接用 Excel 转 JSON;只想快速看看这份 CSV 有多少行、有没有乱码,用 CSV 在线查看器;转出的 JSON 想美化、压缩或校验语法,用 JSON 格式化/校验。
相关教程
- 文件知识CSV、JSON、XML、YAML 区别:数据格式怎么选CSV、JSON、XML、YAML 四种常见数据格式的结构、可读性、体积、常见用途与转换建议,帮你判断表格、接口、配置文件该用哪一种。
- 操作教程JSON 转 CSV 怎么操作?含嵌套 JSON 扁平化教程把 JSON 数据转成 CSV 表格的完整步骤,讲清数组与嵌套对象怎么扁平化、转出来用 Excel 打开不乱码,以及和 CSV 转 JSON 的区别。
- 操作教程Excel 转 CSV 中文乱码怎么办?BOM 与 GBK 处理指南解释 Excel 转 CSV 后中文乱码、分隔符错列和前导 0 丢失的原因,给出 UTF-8 BOM、GBK 编码与 CSV 转 Excel 的处理步骤。
- 问题解答JSON 格式错误怎么排查?常见语法错误与修复方法JSON 解析失败的排查方法:报错行列为什么常常指偏、尾逗号与单引号等五类高频语法错误的修法、JSON 与 JavaScript 语法的差别,以及大整数精度丢失、重复键这类不报错但结果已经错了的问题。