浏览器本地处理

XML / JSON5 互转

XML 属性、文本和重复元素进入明确对象结构;JSON5 注释、单引号、无引号键和十六进制写法会解析成数据,无法在往返时恢复原样。

浏览器本地处理
0 / 1,000,000
转换结果

工具指南

什么是XML / JSON5 互转?

XML 与 JSON5 互转适合开发配置、测试夹具和宽松语法兼容检查。XML 属性、文本与重复元素进入明确对象结构,JSON5 的注释、单引号、无引号键和十六进制写法则解析为数据;反向要求唯一根键并拒绝非有限数值。常见使用场景包括:把 XML 示例转成可注释 JSON5。;从 JSON5 生成旧接口 XML。;检查属性和重复元素映射。页面同时列出输入边界、输出规则和限制,便于在复制结果或投入实际流程前核对格式、语义与安全注意事项。

适用场景

  • 把 XML 示例转成可注释 JSON5。
  • 从 JSON5 生成旧接口 XML。
  • 检查属性和重复元素映射。

使用方法

  1. 确认当前输入格式。
  2. 检查 JSON5 是否只有一个 XML 根键。
  3. 用 @attributes 和 #text 表示属性与文本。
  4. 运行并修复解析或根结构错误。
  5. 复核注释和数值规范化影响。
  6. 先使用页面提供的复杂示例验证当前选项和运行方向,再替换为自己的数据。

可运行示例

工作区中的“示例 1”和“示例 2”按钮会载入对应内容。两个示例覆盖不同结构、方向或边界,可以直接运行并观察输出与状态提示。

示例 1

<site><name>JSONLane</name><release><tools>60</tools><ready>true</ready></release></site>

示例 2

// XML 根对象
{ site: { name: 'JSONLane', release: { tools: 60, ready: true, }, }, }

输入规则

  • XML 禁止 DTD 和 ENTITY。
  • JSON5 转 XML 要求一个根键。
  • Infinity、NaN 和危险键会被拒绝。
  • 文本输入在运行前按字符计数,当前页面上限为 1,000,000;文件类功能另按页面显示的文件上限执行。
  • JSON5 注释、引号和十六进制写法不会保留。

输出规则

  • 属性使用 @attributes,文本使用 #text。
  • JSON5 注释和引号选择不保留。
  • XML 命名空间与混合内容需要复核。
  • 输出只反映当前输入、方向和选项;切换模式或修改输入后应重新运行,不应把旧结果当成新结果。
  • JSON5 转 XML 要求一个根键。

限制与注意事项

  • JSON5 注释、引号和十六进制写法不会保留。
  • JSON5 转 XML 要求一个根键。
  • XML 注释、指令、命名空间和混合内容不保证保留。

数据处理说明

所有解析、格式转换、Base64 编解码和中间数据都只存在于当前浏览器标签页内。JSONLane 不会上传输入,也不会在刷新或关闭页面后保留本次内容。

FAQ

XML 或 JSON5 内容会上传吗?

不会。解析、转换和结果生成都在当前浏览器标签页内完成。

每次往返转换都完全无损吗?

不会。注释、排版、类型系统和二进制能力不同,页面会明确列出需要复核的区域。

为什么格式有效仍可能被拒绝?

目标格式可能没有安全、明确的表示方式。危险键、不安全整数、过深结构和含糊映射会被拒绝。

JSON5 注释会转成 XML 注释吗?

不会。注释在解析后不属于数据值。

属性怎么写?

在根对象中使用 @attributes;普通文本使用 #text。

Infinity 能进入 XML 吗?

不会,非有限数值在安全对象模型中会被拒绝。

更新日期: 2026-08-09