无需登录 数据私有 本地保存

YAML转JSON专用工具 - 定向配置转数据格式

15
0
0
0
🔄

YAML → JSON 转换器

定向配置转数据格式

将 YAML 配置文件快速转换为标准 JSON 格式。支持嵌套结构、多行字符串、锚点别名等高级特性,转换精准可靠。

YAML 输入 0 字符 · 0 行
JSON 输出
0 字符
⚠️ 转换失败
💡 就绪 — 输入 YAML 后点击转换或使用 Ctrl+Enter
📖 常见问题与知识点
YAML 和 JSON 有什么区别?什么时候该用哪个?
YAML(YAML Ain't Markup Language)是一种人类可读的数据序列化格式,强调可读性,使用缩进表示层级关系,支持注释、锚点、多行字符串等高级特性。JSON(JavaScript Object Notation)则是一种更严格、更通用的数据交换格式,广泛用于 API 通信。
使用建议:配置文件(如 Docker Compose、K8s、CI/CD)推荐使用 YAML,可读性更好;数据交换、API 接口推荐使用 JSON,解析更快、兼容性更广。
YAML 转 JSON 时注释会丢失吗?
是的,YAML 中的注释(以 # 开头)在转换过程中会被丢弃,因为 JSON 格式本身不支持注释。如果您需要保留注释信息,建议在源 YAML 文件中做好备份,或考虑使用支持注释的 JSON 变体(如 JSONC)。
支持哪些 YAML 高级特性?
本工具基于 js-yaml 引擎,支持 YAML 1.2 规范的绝大部分特性,包括:嵌套映射与序列、多行字符串(|>)、锚点(&)与别名(*)、合并键(<<)、布尔值/Null/数字自动识别、多文档(仅转换第一个文档)等。
为什么转换报错提示"缩进不正确"?
YAML 严格依赖缩进来表示层级结构。常见问题包括:混用空格和 Tab 键、缩进空格数不一致(建议统一使用 2 个空格)、列表项的缩进不正确。请确保所有同级元素使用相同的缩进空格数,并且子元素比父元素多缩进一层。本工具在 YAML 输入框中按 Tab 键会自动插入 2 个空格。
YAML 中的多行字符串如何转换为 JSON?
YAML 的多行字符串有几种写法:|(保留换行符,literal style)和 >(将换行转为空格,folded style)。转换到 JSON 时,它们都会变成普通的 JSON 字符串。其中 | 风格会保留换行符(转为 \n),> 风格会将段落内的换行转为空格,段落间保留一个换行。
布尔值和 Null 在 YAML 中如何正确表示?
YAML 中布尔值可写作 true/falseyes/noon/off(不区分大小写)。Null 可写作 null~ 或直接留空。转换到 JSON 时分别对应 true/falsenull。如果您希望这些值保持为字符串(如 "yes"),请在 YAML 中用引号包裹,例如 answer: "yes"
JSON 可以转回 YAML 吗?转换会丢失信息吗?
JSON 可以无损转回 YAML,因为 JSON 本质上是 YAML 的子集(YAML 1.2 完全兼容 JSON)。但反向转换(YAML → JSON)时,YAML 特有的注释、锚点引用关系、自定义标签等信息会被丢弃,仅保留纯数据内容。如果您需要双向转换,建议保留原始 YAML 源文件。
转换后的 JSON 中中文字符被转义了怎么办?
这是 JSON 标准行为——非 ASCII 字符会被转义为 \uXXXX 格式以保证最大兼容性。虽然看起来不太直观,但这是完全有效的 JSON,任何 JSON 解析器都能正确还原。如果您需要保留中文字符可读性,可以复制后在代码中使用 JSON.parse() 解析还原,或使用支持 Unicode 美化的编辑器查看。