YAML 转 JSON(支持 TOML / XML)

粘贴配置文件自动识别格式并转成 JSON:多文档 YAML 收成数组、TOML 日期转 ISO 字符串、XML 属性按需铺成 @name 或独立对象。

功能特性

格式自动识别

粘贴内容即判断是 YAML、TOML 还是 XML,判断不出来也可以手动指定。

多文档 YAML

一份文件里用 --- 分隔的多个文档会收成 JSON 数组,k8s manifest 不必拆开逐个转。

XML 映射可调

属性铺成 @name 或收进独立 attributes 对象;文本节点可选是否识别数字与布尔。

本地处理

解析在浏览器里完成,配置文件不会上传服务器。

使用步骤

01粘贴配置

把 YAML、TOML 或 XML 内容贴到左侧,格式通常会被自动识别出来。

02按需调映射

设置 XML 属性写法、文本是否推断类型,以及 JSON 的缩进方式。

03复制或下载

右侧实时生成 JSON,可一键复制或下载 config.json。

适用场景

docker-compose 转 JSONk8s manifest 转 JSONCargo / pyproject 配置转 JSONMaven、Spring XML 转 JSONRSS / Atom 订阅转 JSON配置迁移前做字段核对

常见问题

支持哪些格式?

YAML(含 --- 分隔的多文档)、TOML 1.0(含数组表、行内表、点号键、多行字符串)以及 XML(含 CDATA、实体、命名空间前缀标签),全部转成 JSON。

YAML 里的日期为什么没变成时间戳?

按 YAML 1.2 核心 schema 处理,2026-09-17 这类时间戳原样保留字符串,不会变成 Date 或时间戳数字。TOML 的日期时间则会规范成 ISO 8601 字符串,例如 2026-09-17T09:30:00Z。

XML 的属性为什么都是字符串?

属性多半是标识符或版本号,一旦自动转类型,version="1.0" 会变成数字 1、zip="007" 会掉前导零,属于不可逆的信息损失,所以属性一律保留字符串。类型推断只作用于文本节点,可以整体关掉。

XML 里重复的标签怎么表示?

同名标签出现多次时合并成 JSON 数组,只出现一次则保持对象。带属性的标签默认写成 { "@id": "1", "#text": "内容" },也可以切换成 { "attributes": { "id": "1" }, "#text": "内容" }。

YAML 的锚点与合并键会怎样?

`<<: *anchor` 合并键会展开成真实字段,普通别名按引用展开。若锚点指向自身形成循环引用,JSON 无法表达,工具会给出明确提示而不是直接崩溃。

数据会上传到服务器吗?

不会。三种格式都由浏览器本地的解析库处理,关闭页面数据即消失。

相关工具