CSV转JSON转换器

将CSV文件转换为JSON数组(对象数组)。可指定分隔符和是否将首行作为标题行,转换结果支持复制和下载。所有处理均在浏览器内完成,不会发送到服务器。


分隔符
将首行作为标题行
格式化显示(带缩进)


            
            已复制!
            
          

输入CSV后,转换结果将显示在此处。

CSV行与JSON对象的对应关系

CSV的一行 name,age,city
转换后的JSON对象 {"name": "...", "age": "...", "city": "..."}

将首行作为标题行时,第二行起的每一行都会转换为以标题列名为键的一个对象。

小贴士

  • 启用"将首行作为标题行"后,首行的值将作为JSON对象的键名。关闭后则使用col1、col2…这样的连续编号键。
  • 如果标题中存在空白或重复的列名,该列会自动替换为col{列号}这样的键,以避免数值丢失。
  • 与姐妹工具"JSON转CSV"搭配使用,可以在CSV和JSON之间反复相互转换。
  • 转换采用符合RFC 4180标准的解析器,能正确处理引号内单元格中的逗号、换行以及转义引号(""),因此Excel等导出的复杂CSV也能正确转换。

常见问题

默认情况下,首行被视为标题行,第二行起的每一行都会转换为形如{"标题名": "值", ...}的对象,所有对象再组成一个JSON数组。这是API响应和导入NoSQL数据库时常见的数据格式。

可以。将"分隔符"选择为"Tab",即可像CSV一样将TSV文件转换为JSON。

是的,CSV中的所有值都以文本处理,因此看起来像数字或布尔值的内容在JSON中也会以字符串形式输出(如"123"或"true")。如需真正的数值类型,请在转换后于JSON侧进行类型转换。

不会。转换处理全部在浏览器内的JavaScript中完成,输入的CSV内容不会被发送到任何服务器。即使是包含个人信息的数据也可以安心使用。
ツールくん

闲话 ― 为什么API更青睐JSON而非CSV

CSV能够简单地表示表格数据,但无法表示数组、嵌套对象等嵌套结构。大多数REST API的响应采用JSON格式,正是因为单条记录内可以自由嵌入数组和对象,从而能够原样传输CSV无法表达的复杂数据结构。

另一方面,CSV也有难以舍弃的优点:"能用Excel或表格软件立即打开""一行对应一条记录,人眼易于核对"。在实际业务中,"汇总核对用CSV、系统间对接用JSON"的分工已经固定下来,这也是像本工具这样的相互转换需求长期存在的原因。

尽管名为JSON(JavaScript Object Notation),如今几乎所有语言都将其作为标准数据格式支持,而不仅限于JavaScript。自2001年Douglas Crockford发布该规范以来,它被有意设计为一种与具体语言无关的最小化数据表示方式,这正是其广泛普及的重要原因之一。