两种格式的差异与转换规则
JSON 是树状结构,允许嵌套对象、数组和 null;CSV 是二维表格,只有行和列。转换的核心是把树压平成表。本工具的规则是:数组里每个对象是一行;所有对象的键取并集作为表头,因此某些对象缺少的字段会留空;嵌套对象展开一层,用点号拼接列名,例如 dept 里的 name 变成列 dept.name;数组类型的值直接序列化成 JSON 文本放进单元格,避免列数不固定。
CSV 的转义遵循 RFC 4180:字段中出现分隔符、双引号或换行时,整个字段用双引号包起来,字段内部的双引号写成两个双引号。示例里的“王五, 小五”含逗号,输出时会自动加引号。反向解析时按同样规则处理,所以引号内的逗号不会被误切。表头行的名称直接作为 JSON 的键,重复的表头后者会覆盖前者,建议先改名。
中文乱码与数字丢失的处理
最常见的问题是中文 CSV 在 Excel 里变成乱码。原因是 Excel 双击打开时按系统默认的 GBK 解码,而本工具输出的是 UTF-8。解决办法有两个:在 Excel 里用“数据 → 从文本/CSV”导入,编码选 UTF-8;或者把内容保存成文件时在开头加上 BOM 字节。用 WPS、Numbers 或 Google 表格导入通常能自动识别,不会乱码。
第二个坑是数字。CSV 没有类型,长数字串如身份证号、手机号、订单号在 Excel 中会被当成数值,显示成科学计数法或丢掉前导零。导入时把这些列的格式设为“文本”即可。本工具在 CSV 转 JSON 时提供了“纯数字转数值”的开关,并且只对 16 位以内的数字生效,超过这个长度保持字符串,避免超出 JavaScript 安全整数范围而丢精度。所有转换都在浏览器本地完成,数据不会上传,可以放心处理业务表格。