Toolify

CSV ↔ JSON 转换器 (RFC 4180 兼容)

粘贴 CSV 或 JSON。RFC 4180 兼容解析,正确处理含逗号引用字段、转义引号、含换行的多行值。JSON→CSV 同时支持对象数组 (键作为表头) 与数组的数组。

输出
[
  {
    "name": "Alice",
    "age": "30",
    "city": "Tokyo"
  },
  {
    "name": "Bob",
    "age": "25",
    "city": "Seoul"
  },
  {
    "name": "Carol",
    "age": "42",
    "city": "Madrid"
  }
]

工作原理

为何 RFC 4180 兼容性重要

CSV 看似简单却有许多边界情形: 含逗号的字段必须加引号; 含引号的字段需双引号转义; 引用字段可包含换行。粗暴的 split 解析在真实数据上会崩。本工具完全实现 RFC 4180 文法。

粗暴解析也容易在 Excel 区域差异 (欧洲常用分号分隔)、TSV (制表符) 上出问题。本工具下拉框覆盖四种常见分隔符。

JSON 输出形状

对象数组 (启用表头行,默认): 每行变为 {列: 值}。最常见的 JSON 形状,任何语言都易于消费。

数组的数组 (关闭表头行): 每行变为 [v1, v2, ...]。当列没有命名或想保持位置结构时有用。

JSON→CSV 时本工具会自动识别形状。对象: 收集全部行出现的键作为表头。数组: 直接按行写出。

常见陷阱

Excel 区域差异: 部分欧洲版 Excel 默认分隔符为分号而非逗号。如果导入后看起来挤成一列,把分隔符切换为 ;。

BOM (字节顺序标记): 部分 Excel 导出会在文件首部加 U+FEFF。本工具透传; 若下游解析失败,去掉前 3 字节。

尾部换行: 以 '\n' 结尾的 CSV 在某些解析器中会多出一空行; 本工具自动过滤空行。

数字保留为字符串: CSV 没有类型 —— '42' 在 JSON 里是字符串 "42"。需要类型化的话,后处理已知数字列。

常见问题

支持含逗号的引用字段吗?

完全支持 RFC 4180 引用。"Doe, John" 解析为单一字段。

转义引号如何处理?

按 RFC 4180,引用字段内的字面 '"' 写成 '""' (双引号)。解析器正确识别。

字段可以包含换行吗?

在引号内可以。"line 1\nline 2" 视为带嵌入换行的单一字段。

支持 BOM (UTF-8)?

BOM 直接透传。如果下游不容忍,去掉 CSV 前 3 字节 (EF BB BF)。

巨大文件能处理吗?

浏览器轻松处理几 MB。超大 CSV (100MB+) 推荐用 Papa Parse 流式解析或 CLI 工具。

数字会保留为数字吗?

CSV → JSON: 全部为字符串 (CSV 没类型)。JSON → CSV: 数字直接写为不带引号的单元格。需要类型化 JSON 请后处理已知数字列。

为什么是空字符串而不是 null?

CSV 用空单元格表示缺失。本工具映射为空字符串。需要 null 请后处理输出。

数据会上传吗?

不会。转换在本地完成。

相关工具

最后更新:

看看 AI 提示词 →