JSON vs XML

JSON para dois programas se entenderem; XML onde for preciso impor um esquema.

Escolha JSON quando

JSON para API, configuração e qualquer coisa que o JavaScript leia.

Escolha XML quando

XML onde um setor inteiro já exige — nota fiscal, administração pública, editorial — ou onde um esquema precisa validar de verdade.

O detalhe que pega as pessoas de surpresa

A conversão não é simétrica. O XML distingue atributos de elementos, e o JSON não tem essa diferença, então a ida e a volta não devolvem o mesmo arquivo.

Passar de JSON para XML

O que se mantém

Nada é descartado. JSON e XML guardam o conteúdo sem perda, então a conversão troca a embalagem e não a qualidade — e pode ser repetida sem que o estrago se acumule.

Abrir o resultado

Visual Studio Code lê tanto JSON quanto XML, então dá para comparar o resultado com o original sem um segundo programa.

Para que serve cada formato

JSON foi publicado em 2001. Está descrito em RFC 8259, e vale conhecer se o arquivo precisa sobreviver à ferramenta que o escreveu.

XML vem da W3C é de 1998, descrito em XML 1.0. Visual Studio Code e oXygen XML Editor leem o formato.

Passar de XML para JSON

O que se perde

Os comentários não sobrevivem. XML permite anotar um arquivo e JSON não tem sintaxe para isso, então cada linha de explicação se perde — e isso atinge justamente os arquivos que se comentam: configuração que outra pessoa vai manter.

O que se mantém

Nada é descartado. XML e JSON guardam o conteúdo sem perda, então a conversão troca a embalagem e não a qualidade — e pode ser repetida sem que o estrago se acumule.

Abrir o resultado

Visual Studio Code lê tanto XML quanto JSON, então dá para comparar o resultado com o original sem um segundo programa.

Para que serve cada formato

XML é o formato da W3C, publicado em 1998. Está descrito em XML 1.0, e vale conhecer se o arquivo precisa sobreviver à ferramenta que o escreveu.

JSON e de 2001, descrito em RFC 8259. Visual Studio Code, jq e Postman leem o formato.

Lado a lado

JSON e XML comparados linha a linha: o que cada um guarda e o que isso custa.
JSONXML
Full nameJavaScript Object NotationExtensible Markup Language
Extensão.json.xml
Tipo de mídiaapplication/jsonapplication/xml
CompressãoSem compressãoSem compressão
Este site consegue gravarSimSim