technine.io

工具

CSV 转 JSON 工具

在浏览器中将支持引号字段的 CSV 转成对象数组、行数组或 JSON Lines,表头、分隔符和数据类型都由你明确设置。

文件和粘贴的数据只在当前浏览器内处理,不会发送到转换服务器、加入网址或写入浏览器存储。

源数据

将文件拖到这里

单个文件上限为 10 MB,粘贴的 UTF-8 文本上限为 1 MB。结果最多包含 100,000 条记录、250 列和 1,000,000 个单元格。预览显示 100 行 × 30 列。

输入和数据形状设置

工具会根据 BOM 识别 UTF-8 和 UTF-16。文件没有 BOM 时会严格按 UTF-8 解码;只有解码失败才需要选择旧式编码。

JSON 输出

转换前,工具先按行解析 CSV,因此空白表头、重复表头和列数不一致都会显示出来。假设表头为 id,name,下一行是 001,"Lee, Ada",对象输出可以得到 [{"id":"001","name":"Lee, Ada"}]。默认把 001 保留为字符串,避免标识符在没有提示的情况下变成数字 1。

使用方法

  1. 选择不超过 10,000,000 bytes 的文件,或粘贴最多 1,000,000 UTF-8 bytes。确认所需的旧编码,并选择逗号、Tab、分号或竖线分隔符。
  2. 设置第一条记录是否为表头。对象格式不接受空白或重复表头;需要先选择修剪表头、用 column_N 补全空白项,或用不冲突的后缀区分重复名称。
  3. 选择对象数组、行数组或 JSON Lines。CSV 字段默认全部保留为字符串;启用保守类型推断后,工具只处理完全符合规则的小写布尔值、null 和有限数字。
  4. 检查表格形状、被推断类型的值和输出大小。1,000,000 bytes 以内可以复制,50,000,000 bytes 以内的有效 JSON 可以下载;只有表头没有数据时,对象输出可以是空数组。

适用场景

为 API 准备电子表格数据
用表头建立对象键,每条记录成为一个 JSON 对象;默认不会让带前导零的标识符发生变化。
转换开放数据供程序使用
按指定分隔符读取包含引号字段的文件,再下载可由应用解析的 JSON 数组。
生成逐行 JSON Lines
先处理表头和表格形状,再为支持 NDJSON 的流程输出每行一个对象。
保留没有表头的行数据
当第一条记录本身也是数据时,可选择行数组,无需为表格虚构对象键。

支持范围与限制

  • 输入、表格、字段、预览和输出上限与 CSV 清理工具相同:文件 10,000,000 bytes、粘贴文本 1,000,000 UTF-8 bytes、100,000 条记录(包括表头)、250 列、1,000,000 个单元格、单个字段 1,000,000 个解码字符,以及 50,000,000 输出 bytes。
  • 对象格式的 JSON 需要有效且不重复的表头。空白或重复名称不会被静默删除或覆盖,必须先由你选择修复方式。
  • 所有 CSV 字段默认保留为字符串。保守类型推断不会处理日期、空值、NaN、Infinity、不安全整数、带前导零的数字,或超过 15 位有效数字的候选值。
  • 类型推断仍会改变含义:false 会变成布尔值,null 会变成 null,1e3 会变成数字。下载前请检查工具标出的转换。
  • 工具默认要求每行列数相同。选择补成矩形后,短行会补空值,需要时也会为额外列生成表头,但工具无法判断缺少的内容原本是什么。
  • JSON 不记录源 CSV 的空格、引号写法、分隔符和换行。以后将 JSON 转回 CSV,无法还原为完全相同的源文件。
  • CSV 只有表头而没有数据时,对象格式可以生成 []。输入为空、CSV 格式错误、编码无效、引号不完整、含 NUL 数据或超出限制时,都不会提供下载。
  • 转换在当前浏览器中完成,文件、粘贴的 CSV、文件名、表头和 JSON 输出都不会发送到转换服务器。浏览器扩展、剪贴板记录、屏幕共享和下载文件仍需自行留意。

常见问题

CSV 表头如何变成 JSON 键?

启用“第一条记录作为表头”后,每个表头字段会成为键,后续每条记录成为一个对象。空白或重复表头必须先明确修复,才能输出对象或 JSON Lines。

数字和布尔值会自动转换吗?

不会。所有字段默认保留为字符串,因此 001 仍是“001”。保守类型推断只处理完全匹配的小写 true、false、null、没有前导零的安全整数,以及不超过 15 位有效数字的有限小数或指数形式。

可以输出行数组而不是对象吗?

可以。行数组按原顺序保存表格,不需要表头。第一条记录本身是数据,或者需要保留重复表头时,这种输出更合适。

工具支持引号中的逗号、分隔符和换行吗?

支持,但 CSV 引号格式必须有效。双引号字段可以包含所选分隔符、成对双引号以及 CRLF、LF 或 CR 换行,转换后会成为 JSON 字符串内容。

CSV 各行长度不一致时会怎样?

严格形状是默认设置,工具会指出受影响的记录编号并阻止输出。可以选择补成矩形:短行补空值,额外字段全部保留,对象输出需要时会生成新表头。

可以生成 JSON Lines 或 NDJSON 吗?

可以。JSON Lines 在每个非空行写入一个对象,因此必须有有效且不重复的表头。此版本不输出逐行数组。

CSV 转成 JSON 后再转回来,会与源文件完全一样吗?

不会。JSON 不保留原分隔符、引号格式、换行或表头排版;启用类型推断后,部分字符串也会变成其他数据类型。每次转换都应视为同一表格的另一种表示。

工具会上传 CSV 吗?

不会。解码、解析和转换都在当前浏览器的页面 Worker 中完成。工具不会发送或存储文件、文件名、CSV 内容、表头、错误片段或输出。

咨询WhatsApp