CSV 转 JSON Comma-Separated Values ↔ JavaScript Object Notation 免费 在线 安全
放进一个 CSV 文件,带走 JSON。读和写都在这里、在你的浏览器里完成,文件不离开你的设备——这趟转换保住了什么、保不住什么,下面都写着,不用你自己去发现。
转换你的文件
把 CSV 文件拖到这里,或者选一个。
你的文件不会离开这台设备。一切都在你的浏览器里完成。
不上传任何文件
从 CSV 转换
转换为 CSV
这些格式从哪里来
CSV 最古老,也最缺乏规范:把一张表写成一行行文字,自1970年代起就在用,直到2005年才被形诸文字;那时每个程序早已各自认定了分隔符是什么、引号何时该加。XML 于1998年自 SGML 长出,供那些必须携带严格结构、并要照着模式检验的文档使用。JSON 是道格拉斯·克罗克福德约在2001年从 JavaScript 里抽出来的,刻意削减到只剩对象、数组、数字和字符串——正是这份简省让它拿下了整个网络。YAML 是它可读的表亲,缩进在那里做着别处由括号来做的事。彼此转换时只有一件事要紧:CSV 是平的,是行与列的网格;而 JSON、XML、YAML 都是树。
你会在哪里遇到它们
CSV 是电子表格导出的东西,也是会计、网店平台或银行对账单递到你手上的东西。JSON 是网络服务彼此交谈所用,配置文件也越来越用它来写。XML 存活在较旧的企业系统里、发票规范里,以及办公格式自身的内部。YAML 是人们用手写设置的地方。在它们之间转换,就是每天把数据从它诞生的地方搬到它被需要的地方。
常见问题
我的 CSV 在 Excel 里打开成了一列。为什么?
因为你的电子表格等的是另一种分隔符。Excel 依照计算机区域设置里的列表分隔符;凡是逗号已经充当小数点的地方,那个分隔符就是分号——也就是欧洲大陆的大部分地区。此时一个以逗号分隔的文件看上去就是一列文字。请用导入对话框并明确指定分隔符,而不要双击打开文件。3.5 有时变成一个日期,也出于同一个区域设置。
为什么我层层嵌套的 JSON 变不成一张整齐的表格?
因为表格是平的,而 JSON 是一棵树。一行每列只放得下一个值;一个 JSON 对象却能在某个字段里的列表里再套一个列表。转换意味着要选择如何把它拍平:要么把嵌套的名字接成一个很长的列标题,要么把父行按子项的个数重复若干次。两者都是让步,而且都无法自动还原——所以从表格回到原来的形状,通常需要一个人来做决定。
文件会损失质量吗?
要看两种格式各自装得下什么。在存放同样内容的格式之间转换——PNG 转 BMP,WAV 转 FLAC——不会损失任何东西。转成为省空间而丢弃信息的格式,比如 JPEG 或 MP3,每转一次就损失一点,再转回去也拿不回来。凡是有选择余地的地方,本页倾向于保住原来的质量,而不是做出最小的文件。
我的文件会被上传到什么地方吗?
不会。转换发生在你自己的机器上、你的浏览器里面;文件从不离开它,这里也没有任何服务器能够接收它。正因如此,限制一个大文件的是你自己的内存而不是上传;也正因如此,你转换的任何东西都不可能出现在任何人的日志里——包括我们的。不过,音频和视频工具会在你第一次使用时从本站取来它们的转换引擎——约三十兆字节,仅此一次;此后工作依然完全在你自己的机器上进行。
人们为什么要把 CSV 转换成 JSON
CSV 是电子表格和导出文件的格式:一张朴素的表格,每行一行,单元格用逗号或分号分隔。每个电子表格都能保存它,每个数据库都能生成它。JSON 是程序的格式:一种结构化的文本,网络服务、应用程序和脚本可以直接读取。当一张表格要喂给程序、网站、手机应用、图表库或 API 时,程序想要的不是 CSV,而是 JSON。这就是人们把 CSV 转换成 JSON 的原因:数据在一张表格里,而要使用它的东西说的是 JSON。
这样的情形很常见。开发者把产品清单保存在电子表格里,而一个网页要加载它。设计师手里有一张图表的数据。教师把分数放在表格里,想用脚本处理。店主必须把商品目录上传到只接受 JSON 的服务。在每一种情况下,表格都已经整理好了,缺少的只是语言的转换。
本页在您的浏览器中把 CSV 转换成 JSON。您的文件在这里被读取和写出,所以它永远不会离开您的设备,这对客户名单、学生记录和其他任何个人信息都很重要。而且本页会事先告诉您,这一跨越保留什么、无法保留什么,而不是让您自己去发现。下面您将看到转换如何进行、值如何确定类型,以及分隔符方面要留意什么。
转换是如何进行的
第一行给出键
您的 CSV 在浏览器内部被读取。第一行被当作表头,其单元格成为键。其余每一行成为一条记录,即一个对象,其中每个键与同一列中的值配对。结果是一个记录列表,这正是程序对表格所期望的形状。
带引号的字段被完整保留
CSV 有陷阱,而它们都已得到处理。带引号的字段保留其逗号、其换行和其成对的引号。像 "Smith, John" 这样的单元格仍是一个值,包含换行的单元格也仍是一个值。末尾没有最后一个换行符的文件仍能得出它的最后一行,所以结尾处不会丢失任何东西。
每个单元格都被保留
每个单元格都进入结果。空单元格作为空值保留,所以每条记录都有相同的键,结构是规则的。
保留什么
所有的行和所有的列
每个单元格都被保留,以第一行作为键。一张 300 行 8 列的表格,得出一个有 300 条记录、每条 8 个键的列表。
每个单元格的文本原样不动
每个单元格的内容被原样保留,包括其中的空格、带重音的字母和符号。没有任何东西在您背后被修剪、翻译或重新格式化。
单元格内的逗号、引号和换行
包含逗号、引号或换行的值完好无损地保留下来,因为读取文件时遵循了 CSV 的引用规则。
值如何确定类型
CSV 单元格就是文本,仅此而已
CSV 单元格就是文本,仅此而已。它不会说明自己是数字、日期还是单词。所以类型是按规则而不是靠魔法读回的:朴素的数字、true、false 和 null 会被识别,其他一切都保持为字符串。保存着 42 的单元格变成数字 42,保存着 true 的单元格变成值 true,而保存着 Berlin 的单元格仍是字符串 Berlin。
为什么前导零得以保留
因为只有朴素的数字才会被转换,前导零、电话号码或标识符得以完好保留。写作 01234 的邮政编码不是朴素的数字,所以它仍是字符串 01234,零不会丢失。这是一项刻意的保护:把这类值变成数字会悄悄损坏它们。
日期保持为文本
日期不会被猜测。保存着 2026-03-14 的单元格仍是字符串 2026-03-14。JSON 没有日期类型,所以接收的程序会决定如何处理它,而那是做这个决定更安全的地方。
在把 CSV 转换成 JSON 之前您应当知道什么
分隔符是根据第一行猜测的
分隔符是根据第一行猜测的:逗号或分号,以引号之外出现更频繁的为准。这涵盖了两种常见情形,因为某些国家的电子表格以分号保存。如果您的文件使用制表符或其他字符,请先把它替换成逗号。
表头必须在第一行
第一行会成为键,所以请确保它就是表头。如果您的文件在表格上方有标题、空行或备注,请先删除它们,否则键会是错的。
重复的列名
两个同名的列不能同时成为一个对象的键,因为一个键只能出现一次。在把 CSV 转换成 JSON 之前,请给每一列一个不同的名称。
如何在这里把 CSV 转换成 JSON
添加您的文件
把 CSV 拖到页面上,或从您的设备中选取。它在您的浏览器内部被读取,不会被上传。
转换
按下按钮。普通大小的文件需要一会儿。请保持页面打开直到完成。
下载并检查
下载 JSON,并在文本编辑器中打开。查看第一条和最后一条记录,检查键是否是您期望的名称,值是否具有您需要的类型。
仔细看看 CSV 与 JSON
表格与树
CSV 描述一张表格:行和列,仅此而已。JSON 描述一棵树:包含值的对象,这些值又可以是对象或列表。表格是最简单的一种树,一个所有记录都有相同键的记录列表。所以从 CSV 到 JSON 的转换在结构上很直接,有趣的问题在于类型,这就是上面的规则重要的原因。
为什么 JSON 对程序更容易
CSV 文件很脆弱:改变分隔符或引用习惯,每个读取者对如何读取它都可能意见不一。JSON 有严格的语法,对字符串、数字、布尔值和 null 有清晰的概念,并且每种编程语言都有现成的读取器。接收 JSON 的程序无需猜测。这就是许多服务坚持要求它的原因。
大小
JSON 在每条记录中重复键名,所以文件比它所来自的 CSV 更大。对于有数千行的表格,预期 JSON 会大得多。这是让每条记录自我描述的代价。
常见情形详述
喂给网页或应用
保存在电子表格里的产品、地点或活动清单,可以转换成 JSON 并由页面加载。您在熟悉的电子表格中编辑表格,让页面读取结果。
图表和地图的数据
图表和地图库通常接受 JSON。把 CSV 转换成 JSON,让库指向该文件,图表就会根据您的表格自己绘制。
上传到服务和 API
导入目录、联系人或设置的服务往往只接受 JSON。电子表格可以在这里变成正确的文件,然后上传。
脚本与自动化
处理记录的脚本在读取 JSON 时更简单。转换一次,让您不必编写 CSV 读取器,也不必为引号操心。
在把 CSV 转换成 JSON 之前的实用建议
整理表头行
使用简短、清晰、唯一的名称,如果接收的程序更喜欢,就不带空格。这些名称会成为键,而程序按名称引用键。
去掉备注和合计
电子表格常在表格上方有标题,或在下方有合计行。在导出 CSV 之前删除它们,否则它们会变成记录。
检查分隔符
如果您的电子表格以分号保存,本页会猜对。如果第一行的文本里既有逗号又有分号,请仔细检查结果。
考虑标识符
如果某一列保存着看起来像数字但必须保持为文本的代码,比如带前导零的代码,规则会保护它们。但是,一列您需要作为文本的朴素数字会作为数字到达,所以请在读取 JSON 的程序中加以调整。
人们在转换之前提出的问题
为什么我的有些值是数字而另一些是字符串?
因为朴素的数字、true、false 和 null 会被识别,其他一切都保持为字符串。前导零或一个字母会使单元格成为字符串。
为什么开头的零得以保留?
这是设计使然。只有朴素的数字才会被转换,所以邮政编码或电话号码保留其零。
我的文件使用分号。这行得通吗?
行得通。分隔符是根据第一行猜测的,逗号或分号,以引号之外出现更频繁的为准。
日期会被转换吗?
不会。JSON 没有日期类型,所以日期仍是原来的文本。
我的文件会被上传吗?
不会。转换在您的浏览器中运行,文件永远不会离开您的设备。
我可以转换回 CSV 吗?
可以。JSON 转 CSV 会把一个扁平记录列表重新变成表格。
把 CSV 转换成 JSON 时的明智选择
JSON、XML 还是 YAML?
JSON 适合程序和网络服务。如果系统期望标记语言,可以接着用 JSON 转 XML。对于人手工编辑的配置文件,JSON 转 YAML 读起来更舒服。
电子表格来源
如果您的数据在 Excel 工作簿而不是 CSV 里,XLSX 转 JSON 会直接读取工作簿并处理多个工作表。
保留表格
对维护数据的人来说,CSV 是母版。请保留它,并在它变化时重新转换。
转换之后获得好结果
在查看器中验证 JSON
在懂 JSON 的编辑器中打开结果,并折叠各条记录。如果结构看起来像您期望的,它就是健全的。
把几条记录与源数据比较
取中间的几行,与表格核对。这只需一分钟,并告诉您转换是忠实的。
发布时压缩
如果文件将由网页加载而且很大,有工具可以去掉空白让它更轻。数据保持不变。
准备好您的 CSV 以便顺利转换
以标准编码保存
电子表格可以用几种字符集保存 CSV。请选择 Unicode 编码,使带重音的字母和符号正确到达,特别是当您的数据包含不止一种语言的姓名时。
让每一列只表示一类东西
当您把 CSV 转换成 JSON 时,一个在大多数行里是数字、在少数行里是单词的列,会产生混杂的类型。请清理那些异常的,使每一列只表示一件事。
先用一小块测试
如果您的文件很大,请取前二十行放进一个测试文件并转换它。快速看一眼结果就能显示键和类型是否是您期望的。
把 CSV 转换成 JSON 之后使用结果
在网页中加载它
一旦您把 CSV 转换成 JSON,页面只需几行脚本就能获取该文件,并把它变成列表、表格或地图上的一组标记。因为文件是纯文本,您可以把它托管在页面旁边,数据的变化只需要一次新的转换和一次新的上传。
检查数字和字符串
读取 JSON 的程序在表格中是朴素数字的地方会看到数字,其他地方都是字符串。如果某一列金额在某一行里混有一个杂字,该行就会带一个字符串,这可能让计算感到意外。在转换之前快速扫一眼表格中的那一列,可以省去日后找错误的麻烦。
处理空单元格
空单元格作为其键的空值到达。程序对此的处理各不相同:有的看到空字符串,有的什么也看不到。如果这很重要,请在程序中决定如何读取空白,不要依赖表格来说明。
大型表格
有几千行的表格会得出一个很大的文件。如果页面必须加载它,请考虑把数据拆分成页,或只加载需要的部分,以免让访问者等待。
隐私与处理
为什么本地转换对数据很重要
数据文件往往保存着私密的内容:客户、学生、地址、价格。许多在线转换器会把您的文件上传到服务器,处理后把结果送回,并且有一段时间会有一份副本留在您无法控制的机器上。在这里是您自己的浏览器在工作,所以数据留在您的设备上。
您离开时会发生什么
当您关闭页面时,转换后的文件会从浏览器中消失,所以请先下载它。关于您的数据,没有任何东西被保留。
如果出了问题
键是错的
第一行不是表头。请去掉表格上方的任何标题或空行,再转换一次。
所有数据都在一个键里
分隔符不是页面所猜测的,也许是制表符。请把它替换成逗号。
页面在处理大文件时卡住
一切都在您的设备上运行,大文件需要内存。请在电脑上再试一次,或拆分数据。
相关工具
同一家族的工具涵盖相邻的工作。要转换回去,请用 JSON 转 CSV。对于 Excel 工作簿,有 XLSX 转 JSON 和 JSON 转 XLSX。对于其他结构化数据格式,有 JSON 转 XML、XML 转 JSON、JSON 转 YAML 和 YAML 转 JSON。当数字在 PDF 里时,PDF 转 XLS 会根据页面重建一张表格。
一个演算示例
假设您在电子表格里保存着一份有 120 家商店的清单,包含名称、城市、邮政编码和电话号码,而您的网站应当把它们显示在地图上。您把表格保存为 CSV,拖到这里并按下按钮。片刻之后,您下载到一个包含 120 条记录的 JSON。带前导零的邮政编码完好无损,因为它们是字符串。您把文件放在页面旁边,地图库读取它。当一家商店搬迁时,您编辑电子表格并再次转换。
一份简短的清单
转换之前
把表头放在第一行。去掉标题和合计。给每一列一个唯一的名称。
转换期间
停留在页面上,直到文件准备好。
转换之后
打开 JSON,检查键和几条记录,并把 CSV 保留为您的母版。
常见错误
在表头上方留着标题
第一行会成为键。那里的标题会毁掉它们。
期望日期被转换
日期保持为文本。让接收的程序去解释它们。
删除 CSV
请保留它。它是您可以在电子表格中编辑的版本。
您的数据留在您的设备上
转换在本地进行。您的文件由您自己的浏览器读取,在那里被重写,并作为 JSON 交还。没有任何东西被上传,所以没有副本留在服务器上,也没有其他人能读到它。对于带有私密内容的数据,这是把 CSV 转换成 JSON 的安全方式。
总结
要在这里把 CSV 转换成 JSON,请拖入文件并按下按钮。它在您的浏览器中被读取和写出,所以文件永远不会离开您的设备。每个单元格都被保留,以第一行作为键。带引号的字段保留其逗号、其换行和其成对的引号,末尾没有换行符的文件仍能得出它的最后一行。CSV 单元格就是文本,仅此而已,所以类型是按规则而不是靠魔法读回的:朴素的数字、true、false 和 null 会被识别,其他一切都保持为字符串,这就是前导零、电话号码或标识符得以完好保留的原因。分隔符是根据第一行猜测的,逗号或分号,以引号之外出现更频繁的为准。