JSON 到 XML
粘贴 JSON 文档后,即可获取对应的XML版本:包含您选定的根元素名称、针对数组(重复元素或包装结构)的一致处理策略、可选的XML声明以及美观的缩进格式。此功能在遗留系统要求使用XML而上游数据仍以 JSON 格式存储时尤为实用。
如何将 JSON 转换为XML
-
1
粘贴 JSON
顶层的对象或数组。您需要为根元素指定名称。
-
2
为根元素命名
XML 必须包含一个根元素。默认值为 `<root>`;建议使用具有明确含义的名称,例如 `<users>` 或 `<response>`。
-
3
选择数组处理策略
“重复元素”(每个数组项均成为同级的 `<item>`)或“包装元素”(数组置于命名的包装元素内)。
-
4
复制 XML
可选的XML声明、正确的缩进格式以及`<`、`>`、`&`和引号的实体转义值。
示例:重复元素
输入:
{ "users": [ { "name": "Alice" }, { "name": "Bob" } ] }
输出:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<users>
<name>Alice</name>
</users>
<users>
<name>Bob</name>
</users>
</root>
示例:数组包装器
采用“在<item>中封装数组”策略的相同输入:
<root>
<users>
<item>
<name>Alice</name>
</item>
<item>
<name>Bob</name>
</item>
</users>
</root>
类型映射
| JSON | XML |
|---|---|
| 字符串 | 文本内容,已进行实体转义 |
| 整数 / 十进制数 | 文本内容(无 XML 类型注释) |
| 布尔值 | true / false 以文本形式显示 |
| null | 空元素(<foo/>)或被省略 |
| 数组 | 重复元素或包装结构 + 元素 |
| 对象 | 包含子元素的嵌套元素 |
属性与元素
XML 可区分属性(<user id="1">)与子元素(<user><id>1</id></user>)。转换器默认使用子元素,它们在往返转换时不会丢失信息。若下游 XML 需要使用属性,请采用键前缀约定:
- JSON 键
@id会成为父元素上的 XML 属性id="..."。 - JSON 键
#text会作为父元素的文本内容。
这些规范源自BadgerFish和Parker映射标准,这两种是最常见的 JSON 到XML转换标准。
转义规则
<-><>->>&->&"→"(在属性值中)'→'(可选)- UTF -8中的字节在XML Prolog中被保留并声明。
常见错误
- 根级 JSON 数组。 XML格式要求仅使用一个根元素。转换器会将数组封装为
<root>格式(或您指定的其他名称)。 - 数字键。 JSON
{"1": "a"}是有效格式;XML元素名称不得以数字开头。转换器可为数字添加下划线前缀(如_1),或支持自定义映射规则。 - 混合阵列。
[1, "two", { "x": true }]未获得清晰的比对结果,通常表明该 JSON 在转换前需进行归一化处理。 - **大型文档。**XML具有冗长特性,一个10MB的 JSON 可能扩展至20-30MB。对于超大数据量,建议采用流式转换方案。
常见问题
XML规范要求必须使用单一根元素。若您的 JSON 为数组或包含多个顶级键,则转换器会将所有内容封装在一个可命名的根元素中(默认名称为<root>)。
是的。在 JSON 键中使用@前缀约定(例如"@id": 1),这些键将作为属性使用,其他键则保持子元素状态。此设置与BadgerFish映射规则一致。
有两种策略:重复的兄弟元素(每个元素均以父级键作为标签),或包含<item>元素的包装结构。请选择与目标XML模式相匹配的方案。
不会。该转换器会输出 XML 声明(<?xml version="1.0"?>),但不会生成 DOCTYPE。对于需要 DTD 或 XSD 引用的 XML,请在转换后手动添加相关引用。
相关工具
ASCII 表参考
完整 ASCII 表,覆盖 0 到 127;列出每个代码的十进制、十六进制、八进制、二进制值和 HTML 数字字符引用写法,包括 NUL、LF、DEL。
HTML 字符参考
可搜索的 HTML 实体列表,含命名代码与数值代码,并支持一键复制特殊字符和符号。
键盘快捷键参考
搜索 macOS、Windows 和 Linux 上 VS Code、Chrome 以及使用 GNU Readline 的 Bash 的文档默认快捷键。
邮箱验证器
验证邮箱地址:RFC 5322 语法检查、实时 MX 记录查询,并显示本地部分、域名和长度详情。不会发送任何邮件。
编辑器配置生成器
根据你的缩进样式与大小、行尾、字符集和空格规则生成 .editorconfig 文件,让不同集成开发环境(IDE)和编辑器的格式保持一致。
证书解码器
粘贴一张 X.509 PEM 证书,并查看解码后的字段:主体、颁发者、序列号、签名算法、有效期及主体备用名称(SAN)。
此工具还提供其他语言版本
- JSON vers XML [FR]
- JSON till XML [SV]
- แปลง JSON เป็น XML [TH]
- JSON إلى XML [AR]
- JSON ke XML [ID]
- Chuyển đổi từ JSON sang XML [VI]
- JSON에서 XML로 [KO]
- JSON zu XML [DE]
- JSON a XML [ES]
- JSON naar XML [NL]
- JSON do XML [PL]
- JSONからXMLへ [JA]
- JSON para XML [PT]
- Преобразование JSON в XML [RU]
- JSON'ten XML'e [TR]
- JSON to XML [EN]
- JSON in XML [IT]