Conversao de formatos de dados: formatar JSON, converter XML e TOML, comparar estruturas

Quatro ferramentas para o trabalho diario com formatos de dados — formatar JSON em bruto, converter XML para JSON, converter TOML para JSON e detetar diferencas entre dois objetos JSON.

Como formato JSON em bruto?

O JSON em bruto de uma API ou de um registo de depuracao chega frequentemente numa unica linha sem formatacao. Le-lo sem indentacao e dificil para qualquer estrutura alem da mais simples.

O JSON formatado usa dois ou quatro espacos de indentacao por nivel, com cada par chave-valor na sua propria linha:

{"user":{"id":42,"name":"Alice","roles":["admin","editor"]}}

torna-se:

{
  "user": {
    "id": 42,
    "name": "Alice",
    "roles": ["admin", "editor"]
  }
}

O Formatador JSON tambem valida a entrada — se o JSON tiver um erro de sintaxe (virgula em falta, virgula a mais, chave sem aspas), identifica o problema em vez de falhar silenciosamente.

Como converto XML para JSON?

XML e JSON representam os mesmos tipos de dados estruturados mas com sintaxe diferente. XML usa tags aninhadas; JSON usa objetos e arrays aninhados. A conversao requer decisoes sobre como tratar atributos, conteudo de texto e elementos repetidos.

Um mapeamento tipico de XML para JSON:

  • Elemento XML → chave de objeto JSON
  • Atributo XML → chave JSON com prefixo @ (ou fundido no objeto)
  • Elementos XML repetidos → array JSON

Exemplo:

<user id="42"><name>Alice</name></user>
torna-se:
{"user": {"@id": "42", "name": "Alice"}}

O Conversor de XML para JSON gere estruturas aninhadas, atributos e elementos repetidos — colar o XML e obter JSON limpo pronto a usar.

Como converto TOML para JSON?

TOML (Tom's Obvious, Minimal Language) e um formato de ficheiro de configuracao concebido para ser legivel por humanos. E usado por projetos Rust (Cargo.toml), pelo packaging de Python (pyproject.toml) e por muitas ferramentas de linha de comandos. Quando se precisa de processar uma configuracao TOML de forma programatica num contexto que espera JSON, a conversao e o caminho direto.

TOML mapeia-se naturalmente para JSON:

  • Tabelas TOML → objetos JSON
  • Arrays TOML → arrays JSON
  • Tabelas TOML em linha → objetos JSON

O Conversor de TOML para JSON valida a sintaxe TOML e produz JSON formatado — util para depurar configuracoes ou alimentar dados TOML num pipeline JSON.

Como comparo dois objetos JSON para encontrar diferencas?

Quando se tem duas versoes de uma estrutura JSON — antes e depois de uma alteracao de API, dois ficheiros de configuracao, ou um fixture de teste e uma resposta real — encontrar as diferencas visualmente e pouco fiavel para qualquer coisa alem de algumas chaves.

Um diff estrutural mostra:

  • Chaves presentes num mas nao no outro
  • Chaves presentes em ambos mas com valores diferentes
  • Alteracoes de tipo (uma cadeia que se tornou um numero, etc.)

O Comparador JSON recebe duas entradas JSON e devolve um diff destacando adicoes, eliminacoes e alteracoes — com referencias de caminhos aninhados para encontrar a diferenca imediatamente.

Resumo

JSON, XML e TOML modelam dados estruturados com regras de sintaxe e ecossistemas diferentes. As quatro ferramentas cobrem as tarefas diarias mais comuns: limpar JSON para leitura, traduzir entre XML e JSON, converter configuracoes TOML para JSON e identificar diferencas entre estruturas JSON.