← 返回博客列表

CSV 转 JSON 怎么处理引号和嵌套字段?

说明 CSV 引号转义、字段内逗号/换行,以及 JSON 嵌套对象转 CSV 时用点号展平的取舍;推荐用 TwoThink 本地互转工具。

做数据对接时,CSV 和 JSON 经常要互转。坑通常不在「能不能转」,而在引号字段和嵌套结构。

CSV 里的引号规则

按常见 RFC 4180 习惯:

  • 字段含逗号、换行或引号时,用双引号包起来
  • 字段内的双引号写成两个双引号 ""

例如:"上海,浦东" 是一个字段,不是两列。TwoThink CSV 与 JSON 互转 按这套规则在浏览器里解析,不上传文件。

嵌套 JSON 转 CSV 会丢层级

CSV 本质上是二维表。若 JSON 是:

[{"user":{"name":"张三"},"age":25}]

转成 CSV 时常见做法是把键展平为 user.name。再转回 JSON 不会自动变回嵌套对象,只会得到扁平键。需要层级时,请在业务侧自己 rehydrate,或保持 JSON 不落地 CSV。

方向请手动选

仅凭「有没有逗号」判断方向不可靠——JSON 里也有逗号。更稳妥的是手动选择 CSV→JSON 或 JSON→CSV;工具最多给个建议提示。

相关工具