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;工具最多给个建议提示。
相关工具
- CSV 与 JSON 互转:双向转换
- JSON 格式化:先校验再转换
- 文本对比:对比转换前后差异