YAML ⇄ JSON 转换器

在 YAML 和 JSON 格式之间快速转换,支持双向转换和多种格式化选项

← 返回首页
YAML 输入
支持 .yaml, .yml 格式文件
JSON 输出
0 字符,1
转换设置
1264
输入字符
0
输出字符
YAML→JSON
转换方向
pretty
格式化
提示:YAML 更适合人类阅读和编辑,JSON 更适合机器处理和 API 通信。

YAML 和 JSON 格式转换指南

YAML 与 JSON 的区别

特性YAMLJSON
可读性✅ 优秀(人类友好)⚠️ 一般(机器友好)
注释支持✅ 完整支持❌ 不支持
数据类型✅ 丰富(日期、二进制等)⚠️ 基本(字符串、数字、布尔等)
文件大小⚠️ 通常较大✅ 通常较小
解析速度⚠️ 较慢✅ 较快
主要用途配置文件、文档API 通信、数据存储

YAML 语法示例

# 基本结构
app:
  name: "My App"
  version: 1.0.0
  ports: [80, 443]

# 数组表示
features:
  - authentication
  - logging
  - caching

# 多行字符串
description: |
  This is a multi-line
  description that spans
  multiple lines.

# 锚点和引用
defaults: &defaults
  adapter: postgres
  host: localhost

development:
  <<: *defaults
  database: dev_db

test:
  <<: *defaults
  database: test_db

JSON 语法示例

{
  "app": {
    "name": "My App",
    "version": "1.0.0",
    "ports": [80, 443]
  },
  "features": [
    "authentication",
    "logging",
    "caching"
  ],
  "description": "This is a multi-line\ndescription that spans\nmultiple lines.",
  "environments": {
    "development": {
      "adapter": "postgres",
      "host": "localhost",
      "database": "dev_db"
    },
    "test": {
      "adapter": "postgres",
      "host": "localhost",
      "database": "test_db"
    }
  }
}

最佳实践

  1. 选择合适的格式
    • 使用 YAML 用于配置文件、文档、CI/CD 管道
    • 使用 JSON 用于 API 响应、数据存储、前端配置
  2. 保持一致性:在项目中统一使用一种格式,避免混用
  3. 验证格式:转换后使用验证工具检查格式正确性
  4. 版本控制:将配置文件纳入版本控制,跟踪变更历史
  5. 安全性:避免在配置文件中存储敏感信息(密码、密钥等)

常见问题

  • Q: YAML 中的缩进重要吗?
    A: 非常重要!YAML 使用缩进来表示结构层次,必须使用空格(通常2个或4个),不能使用制表符。
  • Q: JSON 能包含注释吗?
    A: 标准 JSON 不支持注释。如果需要注释,可以考虑使用 JSONC(JSON with Comments)或添加专门的注释字段。
  • Q: 哪种格式性能更好?
    A: JSON 的解析速度通常比 YAML 快,因为它的结构更简单。但对于配置文件,可读性往往比性能更重要。
  • Q: 如何选择转换方向?
    A: 根据使用场景选择:需要人类编辑时用 YAML,需要机器处理时用 JSON。