将 JSON 转为 XML:根元素、属性与数组
XML 需要单一根元素,并以重复元素表示列表。将带 @ 前缀的键映射为属性、把 #text 映射为元素文本,即可实现可逆转换。
选择根元素
XML 只允许一个根元素。如果 JSON 顶层只有一个键,就用它作为根元素;否则需要把所有内容包到一个合成的根元素里。
属性与文本
带 @ 前缀的键会变成属性,#text 键会变成元素的文本内容,这是 XML 与 JSON 互转的常规约定,保证转换可逆。
数组对应重复元素
JSON 数组不会变成一个元素 —— 每一项都会变成一个同名的独立元素,因为 XML 用重复元素来表示列表。
转义
在文本里转义 & 与 <、>(属性里的双引号也要转义),并在前面加上 XML 声明,这样输出就是一个完整文档。
命名空间与前缀
XML 的命名空间以 xmlns 或 xmlns:prefix 属性出现,用来限定元素和属性名。在适合 JSON 的形式里,把它们当作普通的 @xmlns / @xmlns:prefix 属性键,并保留像 soap:Envelope 这样的带前缀名称作为键 —— 多数转换器会原样保留前缀。
自闭合与显式空元素
JSON 中的空值可以对应自闭合标签(<note/>)或成对的空标签(<note></note>)。在 XML 中两者等价,但下游解析器偶尔只认其中一种 —— 一般用自闭合更紧凑;若已知消费方很严格,就用显式成对的形式。
往返注意事项
有些 XML 信息在 JSON 中没有对应:属性顺序、注释、处理指令,以及空元素与缺失元素的差别。如果你 JSON ↔ XML 往返一次再回去,这些都会被丢弃 —— 任何涉及签名规范化的场合都不要使用往返过的 XML。
格式化、美化、校验 XML
同一个转换器也是 xml 格式化工具、xml 美化工具、xml 校验器:贴上任意 XML,点 To JSON 校验格式是否良好,再点 To XML 以一致的 xml 缩进重新输出。在编辑器缺少 xml 查看或美化插件时,这是无需安装本地工具就能格式化 xml 的最简方式。
JSON 修复指南
主题中心
- JSON Parse Errors: Read the Message, Jump to the Fix
- Fix Invalid JSON: From 'What's Wrong' to a Clean File
- JSON Formatter, Validator, Viewer: Pick the Right Tool
- Repair LLM JSON Output: Handling Almost-JSON from AI
- Privacy: JSON Tools That Don't Leave Your Browser
- JSON Interop: YAML, CSV, XML, JWT, Schema
具体指南
- 如何解码 Base64 字符串(以及 JWT Payload)
- URL 编码:百分号编码查询参数与路径
- 将 YAML 转为 JSON(并避免缩进错误)
- 将 JSON 转为 CSV:把对象数组扁平化
- 将 JSON 转义为字符串字面量(并解码双重编码的 JSON)
- 修复 JSON 中的尾随逗号
- 修复 JSON 中的单引号
- 修复 JSON 中未加引号的键
- 修复 LLM 输出的 JSON
- 修复 JSON 解析错误:Expected Property Name
- JSON 与 JavaScript 对象字面量的区别
- 在发起 API 请求前校验 JSON
- JSON 格式化器 vs JSON 修复工具
- 修复 JSON Unexpected Token 错误
- JSON 转 JavaScript 对象转换器