JSON é a sigla para JavaScript Object Notation. É um padrão de formato de dados leve e flexível muito utilizado para transferência de informações pelos serviços Web.
O JSON tem características próprias que precisam ser conhecidas, pois em algum momento você vai precisar enviar ou receber dados de outro serviço. Neste artigo, vou listar as principais características do JSON para você já começar a utilizá-lo no seu próximo projeto! Num artigo futuro, vou explicar como ler dados JSON usando PHP e JavaScript.
Estrutura de um JSON
O conteúdo de um arquivo JSON é em texto puro. Isso quer dizer que você pode literalmente ler o que está escrito nele. Mas, não é igual ao XML ou HTML, que utilizam tags para armazenar as informações.
Ao invés disso, o JSON possui vários blocos de dados separados por { }
(chaves) que podem ser aninhados para criar uma hierarquia de dados da maneira como for conveniente. Em cada bloco, há uma representação de dados separada por vírgula no estilo chave = valor
. E não há limite para a quantidade de dados a ser utilizada num arquivo JSON, a não ser o armazenamento físico no qual ele está localizado.
Os valores dentro das chaves são tipados. Isso quer dizer que eles podem interpretados diretamente pela linguagem de programação sem necessidade de conversão.
Os dados podem ser do tipo string, int, boolean, array
e qualquer outro dado genérico. Isso permite que qualquer linguagem de programação possa lidar com o JSON, facilitando a comunicação entre diferentes aplicativos não importando como eles foram construídos.
Objetivo do JSON
O JSON é um formato de dados genérico, o que torna possível estruturar praticamente qualquer tipo de informação. Qualquer porção de dados no formato JSON pode se unir a outra, o que ajuda a evitar a perda de controle de dados complexos.
O JSON foi criado para ajudar na transferência de informação através dos serviços Web. Isso inclui a comunicação navegador-servidor. Eles agem, assim, como um intermediário até que a informação possa armazenada de maneira definitiva e segura nos servidores.
O JSON também pode substituir bancos de dados comuns que, em alguns casos, seriam complexos demais para operar. Só que o JSON não possui criptografia e proteção próprias, e sempre há uma forma de acessar facilmente os dados JSON pelo lado do cliente. Por isso, não é recomendado usar esse tipo de armazenamento quando se manipula informações sensíveis.
Por se tratar de um tipo de dados que já se tornou universal para a Web, a maioria das linguages de programação consegue ler e escrever JSON. Para saber como ler dados JSON usando PHP, leia o artigo Como Ler Arquivos JSON em PHP.
Regras para escrever o JSON
As regras abaixo são bastante intuitivas quando se começa a ler e utilizar arquivos JSON, mas vou listá-las aqui para não haver dúvidas:
1. Todo JSON deve começar com uma chave aberta ({
) e terminar com uma chave fechada (}
).
2. Os nomes das chaves devem estar entre aspas. Ex.: "color"
.
3. Os valores e as chaves devem ser separados por dois pontos (:
). Ex.: "color":"white"
.
4. Se houver mais chaves e valores, deve-se separá-los com uma vírgula (,
). Ex.: "color":"white","size":"M"
.
5. Para cada tipo, há um modo de representar o valor:
strings
devem estar entre aspas duplas;
int
não devem ter aspas;
boolean
não devem ter aspas;
arrays
devem estar entre colchetes ([ ]
);
6. É permitido usar caracteress de escape. Ex.: "timeZone":"America\/Sao_Paulo"
incluirá o valor "America/Sao_Paulo", pois utilizou-se um caractere de escape para incluir a barra /
; \n
resulta num parágrafo dentro do valor.
7. É permitido usar representações Unicode dentro dos valores para evitar conflitos. Ex.:"j\u00e1"
resultará em já
.
Agora que você viu as regras, vou apresentar um exemplo de como deveria ficar um arquivo JSON.
Exemplos de dados JSON
Abaixo, há uma roupa representada por um objeto JSON:
{
"title" : "Camiseta Hering Masculina",
"color" : "white",
"size" : "M",
"image" : "produtos/camiseta-hering-basica-masculina-5-pecas/14/9NC-0384-014/9NC-0384-014_zoom1.jpg"
"gender" : "male",
"price" :
{
"currency" : "R$",
"value" : 15999
}
"lenght" :
{
"unit" : "cm",
"value" : 150
}
"description" : "Aposte no básico com o Kit Camiseta Masculina Hering, perfeito para todos os momentos. Confeccionadas em algodão, tem caimento leve, manga curta e modelagem lisa. Kit conta com 5 Peças com modelagem regular.",
"url" : "camiseta-hering-basica-masculina-5-pecas-branco-9NC-0384-014
}
Consegue observar os padrões em cada bloco? Você vê as chaves title, color, size, image, gender, price, lenght, description
e url
. Cada uma seguida de um valor separado por :
(dois-pontos). Cada conjunto de dados entre { }
(chaves) é um objeto.
Veja também que dentro da chave price
há outro objeto JSON para indicar a moeda em que será calculado o preço do produto. De alguma forma isso ajudará o programa.
Nenhuma das chaves nesse exemplo é obrigatória. Você pode usar o nome de chave que quiser.
Conclusão
O JSON é muito versátil e flexivel. Se for bem usado, você será capaz de construir estruturas muito complexas!
E assim como outros elementos da programação que já apresentei aqui no site, o JSON é fundamental para seu futuro como programador, ou programadora. Em artigos futuros, apresentarei algumas técnicas e dicas que vão te ajudar a manipular esse tipo de dados tão importante! 🙂