JSON to YAML Converter
Convert JSON structure to clean YAML format. Ideal for Kubernetes manifests and cloud configs.
Convert JSON structure to clean YAML format. Ideal for Kubernetes manifests and cloud configs.
从 JSON 到 YAML 主要是为了让数据对人类来说更具可读性。两种格式都描述相同类型的结构——对象/映射、数组/序列、标量——但 YAML 基于缩进的语法、可选引用和对注释的支持使得手动扫描和编辑变得更容易。配置文件是典型的用例:Kubernetes 清单、CI 工作流程、Ansible playbook 和许多其他工具专门选择 YAML,因为它们的主要编辑者是人类。
该转换器使用 js-yaml 将解析后的 JSON 对象序列化为 YAML。结果在应用 YAML 约定时准确地保留了数据的结构:嵌套缩进、数组列表、对象属性的键值对。 JSON严格的双引号被放宽了;仅包含特殊字符或看起来像其他类型的字符串在输出中被引用。
转换是保留信息的,除非 YAML 添加了 JSON 所没有的表达能力。注释无法重建(JSON 没有)。锚点和别名引用可能会压缩重复的结构,但不会自动生成;输出将所有引用内联展开。
对于人类编辑配置而言,YAML 比 JSON 更具可读性。缩进取代了大括号嵌套,对于简单字符串,引号是可选的,注释可以记录不明显的设置。对于人类维护的文件(应用程序配置、基础设施即代码、构建管道),YAML 几乎总是正确的目标格式。
现代基础设施工具绝大多数都支持 YAML。 Kubernetes、Helm 图表、Ansible、GitHub Actions、GitLab CI、Docker Compose 和许多其他工具更喜欢或需要 YAML。将一个系统的 JSON 导出转换为另一个系统的 YAML 配置是常规集成步骤。
粘贴 JSON,获取 YAML。
js-yaml 的转储函数遍历 JavaScript 对象树并使用可配置的格式发出 YAML。缩进深度、线宽、流程样式阈值和引号处理都是参数。默认设置生成带有 2 个空格缩进的块样式 YAML,这是最常见的约定。
字符串引用遵循 YAML 的规则:看起来像其他类型(数字、布尔值、null、日期)的字符串被引用以强制字符串解释;包含特殊字符(冒号、散列、前导破折号)的字符串被引用;简单的字母字符串不加引号。
输出与 YAML 1.2 兼容,并可使用 js-yaml、PyYAML 和其他主要 YAML 库进行清晰解析。幂等往返(JSON→YAML→JSON)保留数据,尽管 YAML 表示选择的规范格式可能与手写的等效格式不同。