·4分钟阅读

Mac的YAML到JSON转换器

Kubernetes清单、CI管道和配置文件都使用YAML,但你实际需要检查数据的工具通常期望JSON。

YAML在基础设施中无处不在 — Kubernetes清单、GitHub Actions工作流、Docker Compose文件、Ansible Playbook。它可读且紧凑,直到缩进变得不明确、制表符潜入一个空格应该在的地方、或你需要将数据提供给只理解JSON的工具。

手工在两者之间转换是机械但繁琐的:YAML的基于缩进的嵌套变为JSON的括号和方括号、未引用的YAML字符串需要引号、YAML的更许可的语法(未引用的布尔值、多行字符串、锚点和引用)并不总是映射干净到JSON的更严格规则。

为什么你需要两种格式

你可能在YAML中写Kubernetes清单,因为它更容易读取和版本控制,但需要JSON等价物来提供给脚本、API调用或jq管道,期望JSON输入。或者你在调试为什么CI管道的YAML配置不以你期望的方式解析,看到下面的JSON结构使实际的嵌套以一个空格敏感YAML有时不是的方式明确。

立即在格式之间转换

Bellows在其41个开发工具中包括一个YAML到JSON转换器。粘贴YAML并立即获得等价JSON结构,正确的嵌套和类型保留 — 没有手工重新格式化、没有在缩进级别上猜测。

Bellows YAML到JSON转换器工具在macOS上

调试Kubernetes和CI配置

当清单表现得出人意料时,看到下面的JSON结构移除任何关于YAML实际嵌套方式的歧义 — 当误放的缩进静默地改变了哪个键属于哪个父对象时有用。

将配置提供给脚本

大量的脚本和自动化工具更自然地使用JSON而不是YAML。转换一次配置文件并将JSON输出传递下游通常比教你管道中的每个脚本都直接解析YAML更简单。

在Mac应用商店获取Bellows

下一篇文章

Bellows

41 developer tools in one native Mac app — JSON, JWT, Base64, hashes, and more.

Get Bellows on the Mac App Store