CSV 转 JSON 转换器
将 CSV 表格转换为 JSON,无需猜测哪些单元格是数字、布尔值或 null。粘贴文本或选择本地 UTF-8 文件,选择对象或数组,再复制或下载检查后的结果。
不猜测数据类型地转换表格
- 选择粘贴 CSV 或本地文件。文件必须为 UTF-8 编码,后缀为 .csv、.tsv 或 .txt,大小不超过 5 MiB。明确选择分隔符:默认为逗号,也可选分号、制表符和竖线。TSV 文件名不会自动选择制表符。
- 选择对象,将首条记录用作精确的表头名称;或选择数组,将每条记录都保留为数据。对象模式要求表头非空且唯一,数据行字段数与表头一致。数组模式允许行的字段数不同。使用示例会填入包含标识符、姓名和状态的表格,并等待点击转换。
- 选择转换,查看数据记录数、字段数信息及实际 UTF-8 输出大小。转换详情将解析后的字段与所选 JSON 表示形式对应起来。即使预览不完整,复制 JSON 和下载 JSON 使用的也是完整结果。清空会移除两种来源并恢复默认设置。
了解字符串、表头和精确字段
每个单元格都保留为字符串,包括 00042、9007199254740993、true、false、null、空字段和看似公式的文本。工具不会转换数字精度、替换为 null、计算公式或从表头推断嵌套结构。
双引号内的分隔符仍属于同一个字段。两个连续的双引号变成一个引号,嵌入的 CRLF、LF 或 CR 保留在解析后的字符串中。空格也是数据。多余引号、未闭合引号或结束引号后的文本会被拒绝,而不是修复。末尾的记录结束符不会产生多余行;其后的空记录会保留。
对象表头保留原有拼写和空白,但仅由首尾去空白操作可移除的空白字符组成的名称会被拒绝。完全重复的名称会被拒绝,但 A 和 a、组合与分解形式的带重音名称仍视为不同名称。__proto__、constructor 和 2 等名称是普通的平面键。输出成员按列顺序排列;JSON 接收方枚举对象名称的顺序可能不同。
输出采用两个空格缩进、LF 换行和一个末尾 LF,以 UTF-8 编码且不额外添加 BOM。根据本工具的规则,会移除文件开头的一个 UTF-8 签名或粘贴内容开头的一个 U+FEFF;额外的 U+FEFF 保留为内容。工具不会猜测或修复 UTF-16/32 签名及无效 UTF-8。JSON 转义会保留嵌入的控制字符,而不是删除它们。
两种表示形式的示例
提供的三条记录示例以 id、name 和 active 为表头,后面是两条数据记录。对象模式生成两个对象和 150 个 UTF-8 字节,将 00042 和长标识符保留为字符串。引号内 A, B 中的逗号不会增加第四列,true 仍是字符串 true。
同一示例在数组模式下生成三个数组和 146 个 UTF-8 字节。第一个数组将 id、name 和 active 作为值,而不是键。在此模式下,较短的行或空记录按实际字段数保留。
有效的纯表头输入会生成末尾带 LF 的空 JSON 数组:三个字节,没有数据对象。这是可导出的成功结果,不同于没有 CSV 记录的空输入或仅含签名的输入。单列表头下的空数据记录变成空字符串;多列表头下则会产生字段数不匹配错误。
输入、输出和预览限制
文件大小上限为 5242880 字节。解码或粘贴的文本最多包含 5000000 个 UTF-16 代码单元、50000 个物理 CRLF/LF/CR 序列(包括引号内的内容)、50000 条逻辑记录(包括表头)、每条记录 256 列和 2000000 个解析后的单元格。CRLF 算一个物理换行。这些是明确的资源限制,而不是可见字符数。
完整的格式化 JSON 不得超过 16777216 个 UTF-8 字节。超过 15000 毫秒的工作线程操作会被终止,不会下载部分结果。重复的长表头和转义后的控制字符可能使符合输入限制的 CSV 超过输出上限。这些限制不能保证每台设备的内存占用或速度。
默认 JSON 预览最多显示 100000 个 Unicode 标量字符,并明确标记不完整的预览。复制和下载当前完整结果会保留所有已接受的字段。剪贴板权限被拒绝时,会提供当前完整的只读文本供手动复制,而不仅是前缀。方法中的字段预览也可能缩短,但不影响导出。
此版本没有 URL 输入、分隔符自动检测、类型推断、注释、指令移除、CSV 修复或旧编码转换功能。RFC 4180 描述了一种常见的 CSV 格式,并非所有来源的方言。格式错误的 UTF-16 会被拒绝;粘贴前浏览器或剪贴板进行的规范化无法撤销。
本地转换和当前输出
本工具不会新增文档上传、账户、保存历史、日志记录或包含数据的分享链接。编辑、更改来源或选项、选择替代文件、取消或清空都会使旧结果失效。现有网站服务彼此独立;本地处理不代表对这些服务的认证,也不保证安全擦除。
CSV 转 JSON 常见问题
来源与格式参考
- rfc-editor.orgRFC 4180RFC 4180 描述了一种常见的 CSV 格式;本工具规定了自己的解析规则。
- rfc-editor.orgRFC 8259RFC 8259 描述了 JSON 字符串以及对象成员名称的互操作性注意事项。
- tc39.esECMAScript JSON.stringifyECMAScript 规定了 JSON 字符串的转义规则。
- tc39.esECMAScript OrdinaryOwnPropertyKeysECMAScript 描述了对象属性的排序;接收方枚举属性的顺序可能不同于输出的 CSV 列顺序。
- encoding.spec.whatwg.orgEncoding StandardEncoding Standard 描述了严格的 UTF-8 解码和编码签名。
