功能开发中
JSON转YAML转换器
将JSON转换为YAML格式。
转换结果
关于 JSON 和 YAML
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。
YAML (YAML Ain't Markup Language) 是一种人类可读的数据序列化标准,适用于配置文件、数据交换等场景。
主要区别:
- JSON 使用花括号和方括号,YAML 使用缩进
- YAML 更适合配置文件,JSON 更适合API通信
- YAML 支持注释,JSON 不支持
- YAML 更易读,JSON 解析更快
使用教程
- 将JSON数据粘贴到输入框(推荐先格式化确保合法)
- 点击"转换为YAML"按钮
- 查看转换结果——你应该能看到:
- 检查复杂嵌套结构的缩进是否正确
- 如需用于Kubernetes,确认缩进为2空格
- 复制YAML内容或下载为 .yaml/.yaml 文件
- 可选:在YAML Viewer中验证并进一步编辑
使用场景
- Kubernetes manifests:从JSON格式的K8s API对象生成deployment/service/configmap YAML清单。
- Docker Compose:将docker run --json参数或container inspect输出转为docker-compose.yml。
- GitHub Actions:从JSON schema形式的workflow定义生成 .github/workflows/ci.yml。
- Ansible Playbooks:将inventory或task的JSON数据转为YAML格式playbook。
- Swagger/OpenAPI:OpenAPI Spec的JSON格式转为YAML版便于人工编辑API定义。
- 数据库Schema:从JSON schema migration转为Flyway/Liquibase的YAML changelog。
- Serverless Framework:AWS Lambda等的serverless.yml配置从JSON环境变量转换而来。
常见问题
Q: YAML和JSON的区别核心是什么?
A: YAML的设计哲学是"human-friendly",强调可读性和最小化标点;JSON是"machine-friendly",强调解析效率和明确的类型系统。YAML用缩进替代花括号,用#支持注释,原生支持多行字符串。
Q: 转换会有信息丢失吗?
A: 类型层面基本无损。但JSON的key顺序在YAML mapping中有保证(1.1规范);JSON不支持的反引号原始字符串在YAML中也无对应。极端情况(循环引用)YAML的anchor可弥补。
Q: YAML的|和>折叠有什么区别?
A: | (literal)保留所有换行和末尾空行;>(folded)将单换行替换为空格但保留段落间的空行。工具会根据内容特征自动选择。
Q: 为什么有些字符串加了引号有些没加?
A: YAMl对包含特殊字符(: {} [] & * # ? | - @ % ` " ', 冒号+空格, #开头的字符串)必须加引号。纯字母数字不加引号。
建议反馈 (可留下联系方式)
0/200
工具名称
JSON转YAML转换器
所属分类
转换器
更新时间
2026-06-24
使用次数
34
工具简介
将JSON转换为YAML格式。
功能特性
完美的类型映射:JSON Object→YAML Mapping, Array→Sequence, String→Quoted/Block Scalar, Number/Bool→Native types。
锚点和别名:检测重复的子结构自动生成 &anchor 和 *alias 引用减少冗余。
多行字符串智能:长文本自动转为YAML的 | (literal block) 或 > (folded block)标量。
注释友好输出:在关键配置项旁添加 # 注释说明增强可读性。
Flow样式选择:Mapping可选用 flow style ({key: value}) 或 block style。
Kubernetes就绪:输出格式天然契合K8s yaml清单的缩进规范(2空格缩进)。
双向验证:转换后可再用YAML Viewer验证YAML的合法性。
暂无收藏工具
收藏工具