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 请后处理输出。
›数据会上传吗?
不会。转换在本地完成。
相关工具
最后更新: