数据处理 · 更新于 2026-11-05 · 10 分钟阅读
JSON、CSV、YAML 如何转换而不丢数据
格式转换不只是换一个文件后缀。CSV 是二维表,JSON 与 YAML 能表达嵌套结构;字段类型、列名、空值和数值精度需要先确认,再转换并核对结果。
操作步骤
1. 先验证 JSON 原文
JSON 字符串解析工具使用严格 JSON:属性名要用双引号,不支持注释、尾随逗号或重复字段名。格式化和压缩保留数字原始写法,不应被当作修复损坏 JSON 的万能步骤。
2. 转换 CSV 前明确列结构
CSV 适合每行具有相同含义字段的对象记录。嵌套对象和数组不能直接表达在二维单元格中,本站不会静默展开或丢弃这些结构;应先决定展开规则,或保留 JSON/YAML。
3. 用前导零示例核对类型
以两行 CSV 为例:第一行为 id,name,第二行为 001,样例。导入为 JSON 后 id 是字符串“001”,而不是数字 1。CSV 单元格本身没有可靠类型信息,本工具按字符串导入,避免把编号、邮编和长数字自动改写。
4. 检查大整数与空值
JSON 查看和格式化保留数字原文;跨 JSON/CSV/YAML 转换时,无法可靠保留的数值会报精度错误。长编号可在确认业务含义后写为字符串。空字符串、null、缺字段在 JSON 中不同,不应假定转换成 CSV 再导入还能恢复全部语义。
5. 选择分隔符并核对预览
导入时匹配逗号、分号或制表符,列名必须非空且唯一。检查含逗号、引号或换行的单元格是否仍为一格。页面 CSV 预览只显示前 10 行、12 列,下载使用完整转换结果,不是预览截取的数据。
6. 下载后用目标软件复核
CSV 下载添加 UTF-8 BOM,便于桌面表格软件识别中文,并对常见公式前缀添加单引号保护。Excel 等软件再次打开时仍可能自动推断日期和数值,应按文本导入需要保真的列。YAML 转换不承诺保留注释、锚点或原有排版。
实例与预期结果
CSV 转 JSON 保留编号前导零
每个 CSV 单元格按字符串读取,避免编号被改成数值。
- 输入格式:CSV
- 输出格式:JSON
- 分隔符:逗号
示例输入 / 准备
id,name 001,样例
预期结果 / 核对项
[
{
"id": "001",
"name": "样例"
}
]点击转换,检查 id 仍为 "001"。再转 YAML 时它仍应表达字符串,而不是数字 1。下载后也要检查目标软件是否自动改写类型。
格式化与跨格式转换的精度边界
在 JSON 字符串解析中格式化可保留数字原文,但跨格式转换不能保证所有数值精度。
- 先 JSON 字符串解析,再尝试 JSON 转 CSV
示例输入 / 准备
[{"id":9007199254740993}]预期结果 / 核对项
JSON 格式化:保留 9007199254740993。 跨格式转换:无法保证精度时拒绝,不静默四舍五入。
确认这是编号而非用于计算的数值后,可在源数据中用双引号明确写为字符串。
遇到问题怎么办
JSON 报错并标出行列
可能原因:常见原因是单引号、尾随逗号、未加双引号的键名或重复字段。
处理方法:回到报错位置修正原文。工具不会自动猜测并修复损坏内容。
转换为 CSV 提示嵌套结构
可能原因:CSV 是二维表,不具有统一的嵌套语义。
处理方法:先设计明确的列展开规则,或保留 JSON/YAML;不要只改文件扩展名。
风险与限制
- YAML 自定义标签和别名展开不受支持,对象键必须是字符串。
- CSV 公式保护可能改变单元格字面值,这是安全处理,不是原始数据的逐字节复制。
- 工具在浏览器本地处理;重要数据应保留源文件,核对字段数量、记录数量和关键值。
常见问题
为什么 CSV 转 JSON 后数字都带引号?
CSV 没有可靠类型信息。本工具保留单元格为字符串,避免丢失前导零或长编号精度;需要数值类型时,应依据业务规则明确转换。
JSON 格式化能保留大整数,为什么转 YAML 会报错?
格式化可以保留原始数字 token,跨格式转换需要解析和重新表达数值;无法保证精度时工具会拒绝,不能将两种处理能力混为一谈。
为什么 JSON 转 CSV 不支持嵌套对象?
CSV 只有行和列,没有统一的嵌套语义。自动展开可能发生键名冲突、数组行数膨胀或类型丢失,需要先确定适合业务的数据结构。