JSON 与数据处理指南
JSON 与 YAML 转换:类型、引号和别名
保留字符串类型,识别 YAML 专有结构,检查转换后的数据和精度边界。
必须保真的文本加引号
YAML 注重可读性,但未引用标量可能按所用 Schema 解释为数字、布尔或 null。
不参与计算的 ID、版本号等应引用;不能只看 YAML 排版,必须检查转换后的 JSON 类型。
id: "00123"
active: true
note: null
→ {"id":"00123","active":true,"note":null}缩进决定层级
YAML 通过缩进确定层级,列表标记层级错误可能仍合法,却生成另一种对象。
先做 YAML 格式化,再检查 JSON 树形结构,用最小嵌套样例确认数组与对象边界。
了解无法往返的部分
JSON 不表示注释、锚点、别名或自定义 YAML 标签,转换可能展开别名并丢掉表现信息。
数据转换器不是保留 YAML 原文的编辑器;循环结构和自定义标签需要在普通 JSON 交换之外专门处理。
核对数值精度
两种转换库可能使用有精度限制的原生数值类型,普通 JSON 格式化的无损处理不代表每种转换都无损。
超大整数 ID 可约定为字符串,或逐位核对原文;转换后还应按接收方 Schema 校验。