Guia de conversão de configuração YAML/JSON: Essencial para DevOps e Desenvolvimento

JSON

YAML vs JSON: Por que converter?

Cenário Formato comum Por que
Docker Compose YAML Legível por humanos, suporta comentários
Kubernetes YAML Recomendação oficial
GitHub Actions YAML Definições de workflows
Requisição/resposta API JSON Análise por máquina
package.json JSON Padrão do Node.js
tsconfig.json JSON Padrão do TypeScript
Cargo.toml TOML Padrão do Rust

Desenvolvedores frequentemente precisam converter entre YAML (arquivos de configuração) e JSON (APIs/programas).


Conversão com ToolsKu

YAML ↔ JSON

  1. Abra YAML ↔ JSON
  2. Cole YAML ou JSON
  3. Auto-converter e formatar
  4. Copie o resultado

TOML ↔ JSON

  1. Abra TOML ↔ JSON
  2. Cole TOML ou JSON
  3. Auto-converter

Diferenças de sintaxe

Recursos do YAML (não presentes no JSON)

# Comentários — não suportados em JSON
name: toolsku
version: 1.0
port: 3000          # Números não precisam de aspas
tags:               # Arrays
  - pdf
  - image
database:
  host: localhost   # Objetos aninhados
  port: 5432
enabled: true       # Booleanos
empty: null         # Nulo
multiline: |        # Strings multilinha
  Line one
  Line two

JSON equivalente:

{
  "name": "toolsku",
  "version": "1.0",
  "port": 3000,
  "tags": ["pdf", "image"],
  "database": { "host": "localhost", "port": 5432 },
  "enabled": true,
  "empty": null,
  "multiline": "Line one\nLine two"
}

Armadilhas comuns

1. Coerção de tipos implícita no YAML

# ⚠️ Perigo: YAML 1.1 pode interpretar estes como booleano/nulo
country: NO    # → false (código de país da Noruega interpretado incorretamente!)
version: 1.0   # → 1.0 (float)
date: 2024-01-01  # → pode ser interpretado como data

Correção: Coloque entre aspas valores que possam ser mal interpretados: "NO", "1.0".

2. Indentação deve usar espaços

# ❌ Misturando tabs e espaços
name: test
	tags: [a, b]  # Tab indent → erro de análise

# ✅ Indentação consistente de 2 espaços
name: test
  tags: [a, b]

3. JSON não suporta comentários

// ❌ Comentários são inválidos em JSON
{ "name": "test" /* comment */ }

Use YAML quando precisar de comentários, ou o Formatador JSON com modo JSON5.


Cenários do mundo real

Docker Compose → JSON (para consumo por programas)

# docker-compose.yml
services:
  web:
    image: nginx:latest
    ports: ["8080:80"]

→ Converter para JSON para um app Node.js analisar a configuração

Depuração de YAML do Kubernetes

# Converter YAML do K8s para JSON, depois consultar com jq
kubectl get pod my-pod -o json | jq '.status.phase'

Você também pode extrair campos diretamente com a ferramenta JSONPath.

Validação de configuração CI/CD

Após converter YAML para JSON, use o Formatador JSON para validar a sintaxe.


Resumo

A conversão YAML/JSON/TOML é uma tarefa diária de DevOps e desenvolvimento full-stack. O ToolsKu fornece ferramentas YAML↔JSON, TOML↔JSON e Formatador JSON — todas locais no navegador, conversão instantânea, gratuitas.

#YAML#JSON#TOML#配置文件#DevOps