数据格式转换
JSON、XML、YAML 三种数据格式在线互相转换
输入
输出
转换约定说明
| 约定 | 示例 |
|---|---|
| XML 属性转为以 @ 开头的键 | <user id="1">Tom</user> → {"user": {"@id": "1", "#text": "Tom"}} |
| 同名重复子元素自动合并为数组 | <item>a</item><item>b</item> → {"item": ["a", "b"]} |
| 纯文本元素转为字符串;与属性/子元素并存时文本放入 #text 键 | <name>Tom</name> → {"name": "Tom"} |
| JSON 转 XML 时:多顶层键包裹 <root>,顶层数组子元素命名为 item;非法 XML 名字符替换为 _ | [1, 2] → <root><item>1</item><item>2</item></root> |
XML 没有类型系统,其中的数字与布尔值一律按字符串处理;XML 声明头、DOCTYPE 与注释在转换时忽略;JSON 与 YAML 输出统一使用 2 空格缩进。
YAML 子集支持范围
支持:
- 块式映射(key: value,支持任意层级嵌套)
- 块式列表(- 开头的条目,支持列表套映射、列表套列表)
- 标量:字符串、整数/浮点数、true/false、null(含 ~)
- 单/双引号字符串、行内与整行 # 注释;多文档输入只解析第一个
不支持(会给出带行号的错误提示):
- 锚点 &、别名 * 与标签 !
- 流式语法 {a: 1} 与 [1, 2](空集合 [] / {} 除外)
- 多行文本块 | 与 >(保留/折叠换行)
- 复杂键 ? 与 Tab 缩进
适用场景
在 API 调试、配置文件迁移与数据清洗时快速互转三种格式:把 XML 接口报文转为易读的 JSON,把 YAML 配置(CI/CD、Docker Compose 片段等)转为 JSON 供程序处理,或反向生成。全部转换在浏览器本地完成,数据不上传。
使用说明
选择源格式与目标格式(点 ⇄ 可互换),粘贴数据后点击「转换」。解析失败时会给出带行号线索的错误提示;转换结果展示在输出区,可一键复制。相同格式互转可用于格式化与校验。