把 JSON 转成干净缩进的 XML:@attr/#text 约定、自定义根节点、自动转义。纯浏览器本地。
- 本地处理
- 分类 格式转换
- 适合 把粘贴内容或本地文件转成更适合交付的格式。
全部转换在你的浏览器标签内完成 — JSON 不会上传到任何服务器。
这个工具能做什么
免费在线 JSON 转 XML 工具,产出的 XML 能直接粘进 SOAP 请求或 RSS 源,不用再手工补救。粘贴 JSON 得到缩进好的 XML:对象的 key 变成元素, 数组按条目重复同一个元素,嵌套可递归到任意深度。它沿用跟我们 XML 转 JSON 工具一样的 `@attr` / `#text` 约定,所以两个工具能往返:`"@id"` 这样的 key 会变成 `id="…"` 属性,`"#text"` key 会变成元素紧挨属性的 文本内容。你可以控制根元素名(XML 必须有且只有一个根)、2 或 4 空格 缩进、属性前缀、文本节点 key,以及是否在开头加 `<?xml version="1.0" encoding="UTF-8"?>` 声明头。每个值都做 XML 转义(`&`、`<`、`>`、 `"`、`'` 都转成对应实体),所以 `1 < 2 & 3` 这种字符串绝不会把文档 搞坏。JSON 非法时给出带字符位置的清晰错误,而不是悄悄吐出乱码。一键 复制,一键下载 `.xml`。100% 浏览器本地:配置文件、API 报文、集成测试 夹具都不出标签页。
工具细节
- 输入
- 文本 + 数值 + 结构化内容
- 页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
- 输出
- 即时结果 + 复制 + 下载
- 结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
- 隐私
- 浏览器本地处理
- 主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
- 保存 / 分享
- 可分享链接状态
- 关键设置会进入 URL,复制链接后别人能复现同一组参数。
- 性能预算
- 首屏 JS ≤ 14 KB
- 没有声明 WASM 依赖,适合快速打开和移动端使用。
- 适用场景
- 格式转换 · 程序员
- 分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。
怎么用
-
1. 输入
把内容粘贴或拖入工具面板。
-
2. 处理
点击按钮,在浏览器内本地处理,文件不上传。
-
3. 复制 / 下载
一键复制结果或下载到本地。
JSON 转 XML 转换器 适合怎么用
适合把内容从一种实际格式转成另一种可用格式。
适合转换的任务
- 把粘贴内容或本地文件转成更适合交付的格式。
- 放进大流程前,先预览转换结果是否可靠。
- 修正常见格式不匹配,不用打开完整编辑器。
转换检查项
- 源格式比较乱时,先拿一小段试转。
- 转换后检查编码、分隔符和换行符。
- 结果确认前保留原始内容。
下一步可以接着做
这些入口会把当前任务接到更完整的工具链里。
真实使用场景
用 JSON 测试夹具生成 SOAP 请求体
你的服务内部走 REST/JSON,但有个老合作方只收 SOAP。把测试数据保留 成可读的 JSON,在发请求前用这个工具转一下。步骤:把报文写成 JSON, 信封的子节点作为嵌套 key,需要挂在元素上的 `xmlns`/`soap:` 属性用 `@` key 表示,把根元素设成你的操作名,保留 XML 声明头,把输出复制进 `<soap:Body>`。因为属性和文本都会正确转义,订单备注里出现 `Q&A` 或者 `<tag>` 都不会把信封搞坏。
从 JSON 内容列表生成 RSS 2.0 / Atom 源
你从 CMS 拿到一个 JSON 文章数组,需要一份合法的 feed 给播客 App 或 阅读器用。把数组包在 `{ "channel": { "item": [...] } }` 这样的 key 下,每篇文章就会重复成 `<item>`,把 title/link/pubDate 映射到子 key 再转换。重复元素的行为正好是 RSS 的惯用写法,而转义能保证带 & 符号 的标题("Tips & Tricks")不会破坏 XML。把结果粘进 feed 文件再校验。
用 JSON 写 Android 字符串/布局资源
Android 资源文件(`strings.xml`、drawable、layout)都是 XML,但把 内容真值留在 JSON 里、再生成 XML 往往更省事。把 `@name` 建模成属性, `#text` 建模成值:`{ "string": { "@name": "app_title", "#text": "Toolora" } }` → `<string name="app_title">Toolora</string>`。把缩进 设成 4 空格以匹配 Android Studio 的格式,打开声明头得到规范的文件头。
把 JSON 配置转成老应用要的 XML 配置
大量企业软件(Spring beans、老的 .NET app.config、Tomcat server.xml)至今仍读 XML 配置。为了方便 diff,把配置保留成 JSON, 部署时再转。用嵌套对象表示分节,用 `@` key 表示 `name`/`value` 这类属性。单根规则意味着你设一个包裹元素(比如 `beans` 或 `configuration`),工具就保证输出能被解析。
让 XML 经 JSON 往返以便批量编辑
你收到一个很大的 XML 文档,想用程序编辑它(查找替换、重排、过滤), 而你的工具链是 JSON 原生的。先用 XML 转 JSON 跑一遍,改完对象,再用 同样的 `@attr`/`#text` 设置在这里转回来,重建等价的 XML。两个方向 保持属性前缀和文本节点 key 一致,元素结构、属性和文本就能完整地 往返过来。
常见踩坑
以为多个顶层 key 会原样不被包裹。XML 只允许一个根,所以 `{ "a": 1, "b": 2 }` 会被包进 `<root>…</root>`。想要特定的包裹名,就去设置「根元素名」输入框,别假设第一个 key 自动当根。
把 `@属性` key 指向对象或数组。XML 属性只能放扁平的标量文本,所以 `{ "@meta": { "x": 1 } }` 会被静默跳过,而不是吐出非法的 `attr="[object Object]"`。把嵌套数据提升成子元素,而不是当属性。
忘了元素名会被清洗。带空格、冒号或以数字开头的 JSON key(`"order id"`、`"123"`、`"soap:Body"`)会被改写成合法 XML 名(`order_id`、`_123`、`soap_Body`)。如果你确实要保留 `soap:` 这种命名空间前缀,这是已知限制。请声明命名空间并使用单段的本地名。
隐私说明
转换是一个纯 JavaScript 序列化器,在你的浏览器标签内运行。不走服务器 往返、不上传、也不记录你转过什么。唯一会离开你机器的是可分享链接:你的 JSON 输入会被编码进 `?in=` 查询参数(上限约 2000 字符),这样「分享 链接」能复现出完全一样的输出。也就是说,你发链接给的任何人,以及任何会 把 URL 记进访问日志的服务器(Slack、邮件网关),都能读到这段 JSON。 普通夹具无所谓;但如果报文里含密钥、token 或客户隐私数据,请手动复制 XML 输出,别分享 URL。你的选项(根名、缩进、前缀)只存在本浏览器的 localStorage 里,绝不写进 URL。
常见问题
类似工具组合
做你这行的人, 还会一起用这些。