📊 Formatos de Serialização de Dados
XML, YAML e JSON — Guia Completo, Didático e Aplicado
🎥 Aulas em Vídeo — Sequência Completa
📌 O que é Serialização de Dados?
A serialização é o processo de converter um objeto ou estrutura de dados em um formato que possa ser armazenado (em arquivo) ou transmitido (pela rede) e depois reconstruído (desserializado) posteriormente.
Os formatos mais utilizados hoje são XML, YAML e JSON. Cada um tem características, vantagens e cenários ideais de uso.
🔍 Comparação Completa: XML × YAML × JSON
| Critério | XML | YAML | JSON |
|---|---|---|---|
| Legibilidade Humana | Média (verboso) | ⭐ Excelente | Boa |
| Tamanho do Arquivo | Grande | Pequeno | Médio/Pequeno |
| Comentários | Sim | Sim (#) | Não |
| Indentação | Opcional (tags) | Obrigatória (espaços) | Opcional |
| Tipos de Dados Nativos | Limitado | Muito bom | Bom (string, number, boolean, array, object, null) |
| Principais Usos | SOAP, RSS, configurações antigas, Android, Office | Docker, Kubernetes, GitHub Actions, Ansible, CI/CD | APIs REST, Web, NoSQL, configurações modernas |
| Velocidade de Parse | Mais lenta | Rápida | Muito rápida |
| Suporte a Esquema | XSD (forte) | JSON Schema (via ferramentas) | JSON Schema |
Resumo de escolha: Use YAML para configurações humanas, JSON para APIs e comunicação máquina-máquina, e XML quando precisar de compatibilidade com sistemas legados ou documentos estruturados.
1. JSON (JavaScript Object Notation)
O formato mais popular da web. Leve, rápido e nativo do JavaScript.
Exemplo JSON
{
"nome": "Mariana Silva",
"idade": 29,
"ativo": true,
"salario": 6800.50,
"habilidades": ["Python", "React", "SQL"],
"endereco": {
"cidade": "Rio de Janeiro",
"uf": "RJ"
}
}
2. YAML (YAML Ain't Markup Language)
Formato extremamente legível por humanos, baseado em indentação. Ideal para arquivos de configuração.
Exemplo YAML
nome: Mariana Silva idade: 29 ativo: true salario: 6800.50 habilidades: - Python - React - SQL endereco: cidade: Rio de Janeiro uf: RJ
3. XML (eXtensible Markup Language)
Formato mais antigo e verboso, baseado em tags. Ainda muito usado em sistemas empresariais.
Exemplo XML
<?xml version="1.0" encoding="UTF-8"?>
<pessoa>
<nome>Mariana Silva</nome>
<idade>29</idade>
<ativo>true</ativo>
<salario>6800.50</salario>
<habilidades>
<item>Python</item>
<item>React</item>
<item>SQL</item>
</habilidades>
<endereco>
<cidade>Rio de Janeiro</cidade>
<uf>RJ</uf>
</endereco>
</pessoa>
🏗️ Exemplos Reais de Uso
✅ docker-compose.yml (YAML)
version: "3.9"
services:
web:
image: nginx:latest
ports:
- "8080:80"
db:
image: postgres:15
environment:
POSTGRES_PASSWORD: exemplo123
✅ API Response (JSON)
{
"status": "success",
"data": { ... },
"meta": { "page": 1, "total": 42 }
}
✅ Configuração SOAP ou RSS (XML)
<rss version="2.0">
<channel>
<title>Meu Blog</title>
</channel>
</rss>
❓ FAQ Rápido
- Posso converter entre eles? Sim. Quase todas as linguagens possuem bibliotecas (json, PyYAML, xml.etree, etc.).
- Qual devo aprender primeiro? Comece por JSON → depois YAML → XML só se precisar.
- YAML aceita JSON? Sim! JSON é um subconjunto válido de YAML.
📌 Resumo Final
- JSON: Rei das APIs e aplicações web.
- YAML: Rei das configurações e DevOps.
- XML: Ainda essencial em ambientes corporativos e legados.
Pratique criando arquivos .json, .yml e .xml todos os dias!
Essa habilidade é indispensável para qualquer desenvolvedor moderno.
Nenhum comentário:
Postar um comentário