JSON 互转
JSON 与 YAML、XML 四向互转(含属性与文本节点约定),接口联调、配置迁移一处搞定。
>_ 使用指南 · GUIDE
JSON、YAML、XML 四向互转一处搞定:JSON ↔ YAML、JSON ↔ XML,任选源格式与目标格式实时转换。典型场景:配置从 YAML 迁到 JSON(或反向)、对接返回 XML 的老接口但代码按 JSON 处理、跨系统配置格式对齐。
转换处理了 XML 特有的属性与文本节点(按约定映射为 @ 前缀与 #text 键),往返转换尽量保持信息完整。本地实时转换,配置内容零上传。
>_ 常见问题 · FAQ
Q1 · 为什么以 JSON 作为互转的枢纽?
三种格式的信息模型不同:YAML 与 JSON 同源(YAML 是 JSON 的超集理念),转换几乎无损;XML 有属性、文本节点等 JSON 没有的概念。统一以 JSON 为中间枢纽,规则清晰、行为可预期——任何两格式之间的转换都等价于「源 → JSON → 目标」两步。
Q2 · XML 的属性转成 JSON 后去哪了?
XML 的属性与文本节点在 JSON 里没有直接对应物,本工具按业界通行约定映射:属性转为 @属性名 键,元素文本转为 #text 键。例如 <book id="1">名著</book> 转为 { "@id": "1", "#text": "名著" }。反向转换按同一约定还原,往返一致。
Q3 · YAML 和 JSON 互转会丢信息吗?
基本无损——两者能表达的数据结构相同(对象、数组、标量),只是语法不同。细节差异:YAML 的日期类型转 JSON 会变成字符串、注释会丢失(JSON 不支持注释)。配置里依赖注释的,转 JSON 后需要另行记录。
Q4 · 配置文件该选 YAML 还是 JSON?
看维护者与生态:K8s、CI 系统生态在 YAML;前端工具链、package-lock 在 JSON;需要注释、人类频繁手编辑选 YAML;机器读写、严格 schema 校验选 JSON。迁移格式时用本工具转完,务必在目标系统做一次完整加载验证。
Q5 · 转换后的数据顺序会变吗?
JSON 与 YAML 保留键的原始顺序;XML 因规范不保证属性顺序,转换后属性键的顺序可能与原文档不同。顺序敏感的场景(如签名拼接)不要依赖转换工具,应在源系统按固定规则排序。