O bendito JSON, e o maldito XML!
Bom dia, boa tarde, boa noite!
Esse post é o segundo de uma série que comecei, escrevi primeiro sobre “O bendito SQL”, agora vou explanar um pouco sobre JSON e XML! Claro, trazendo um overview basicão =)
JSON, é aquele assassino?
Quase isso.
O significado dessa sigla é JavaScript Object Notation, são estruturas de dados populadas de qualquer linguagem para formatos que são reconhecíveis por outras linguagens e plataformas. Basicamente, usamos para transferir dados entre diferentes sistemas.
A estrutura é basicamente com:
- chaves { } para delimitar os objetos e obrigatórias para iniciar e encerrar o conteúdo;
- colchetes [ ] para indicar um array;
- dois pontos : para separar a chave e seu valor correspondente;
- vírgula , para indicar a separação entre os elementos.
Exemplos:
String
{ "nome": "Patrick"}
Objeto
{
"pessoa": {
"nome": "Patrick",
"idade": 21
}
}
Lista de objetos
Confira como fazer a notação para indicar uma lista de objetos:
{
"pessoas": [
{"nome": "Patrick", "idade": 21},
{"nome": "Você", "idade": 300},
{"nome": "George Bush", "idade": 75}
]
}
Caso você se depare com um JSON todo cagada visualmente, tipo isso:
{"pessoas":[{"nome": "Patrick", "idade": 21},{"nome": "Você", "idade": 300},{"nome": "George Bush", "idade": 75}]}
Você pode procurar por “Json formatter” no google, que você consegue formatar, se liga:
E agora, XML?
Bom, a premissa principal do XML (eXtensible Markup Language) é parecida com a do JSON:
- São estruturas de dados populadas de qualquer linguagem para formatos que são reconhecíveis por outras linguagens e plataformas. Basicamente, usamos para transferir dados entre diferentes sistemas
- Baseado em chave/valor
Se precisar formatar um XML, também pode procurar por “Xml formatter” no google, que vai conseguir formatar essa monstruosidade.
Mas, temos algumas diferenças… Começando pela
Notação:
O XML utiliza uma estrutura de tags para representar os objetos, e ela precisa conter o par (tag de abertura e de fechamento): <nome>Patrick</nome>.
No XML não temos aspas, nem nas chaves, nem nos valores. Vou mostrar com o mesmo exemplo de estrutura que tivemos no JSON:
<?xml version="1.0" encoding="UTF-8" ?>
<pessoas>
<pessoa>
<nome>Patrick</nome>
<idade>21</idade>
</pessoa>
<pessoa>
<nome>você</nome>
<idade>300</idade>
</pessoa>
<pessoa>
<nome>George Bush</nome>
<idade>75</idade>
</pessoa>
</pessoas>
Tipos de dados:
O XML trabalha com diferentes tipos de dados, como imagem e gráficos. O que não seria possível transmitir no JSON, pois só tem suporte a números e textos. Mas, em compensação, o XML não oferece suporte a arrays.
Facilidade:
Como vimos, o JSON é bem mais de boa de compreender, a estrutura e notação são bem mais simples.
Concluindo
Atualmente, em muitos softwares veremos mais o JSON. Principalmente pela simplicidade.
Mas, qual usar?
Acredito que resposta certa seria: depende. Depende do teu software, pro que você irá utilizar, qual contexto.
Um software que trabalha muito bem com SOAP, ainda exige o XML.
Se você precisa criar algo leve, rápido, sem muita exigência, ainda mais se o JavaScript faz parte da sua rotina, o JSON deve facilitar seu trabalho.
Agora, se o sistema exige uma maior complexidade de dados, com padronização madura na validação dos mesmos, e transformações frequentes, o XML pode ser uma boa pedida.
É isso aí meus patrões!
Espero que tenha entendido a explicação sobre o assunto, no próximo post vou trazer alguns conceitos sobre API!
Até breve :)