O que é JSON
JSON são as iniciais de JavaScript Object Notation e como o próprio nome indica, é um tipo de notação para salvar dados. Embora seu nome inclua a linguagem de programação Javascript, a verdade é que ela não é exclusiva dela e é utilizada em muitas outras linguagens de programação, seja para scripting, backend, frontend, desenvolvimento de APP, etc.
Hoje vamos falar sobre
Neste artigo aprenderemos o básico do JSON, quais são suas vantagens, quais aplicações ele possui no mundo da tecnologia e mais especificamente da programação e terminaremos analisando algumas de suas desvantagens e alternativas existentes.
Aplicações do formato JSON em programação
Desenvolvedores e programadores utilizam o formato JSON principalmente para 2 tarefas: comunicação entre diferentes sistemas e armazenamento de informações por meio de bancos de dados.
Desde que os sistemas computacionais foram desenvolvidos, a transmissão de dados entre computadores e diferentes linguagens de programação tem sido um desafio. Isso exigia um tipo de dados padronizado para qualquer sistema de computador.
Foi assim que nasceu a notação XML, usada globalmente antes do surgimento do formato JSON. Então, quais vantagens o JSON tem sobre o XML?
A principal vantagem é o tempo de processamento. XML é uma marcação de tags (muito semelhante ao HTML) que requer a criação de uma árvore de tags para analisar e compreender as informações.
Este tempo de processamento não é necessário no caso do JSON, por isso é muito mais eficaz em dispositivos que possuem muito menos recursos computacionais.
Atualmente existem vários casos de aplicação do formato JSON em termos de comunicação entre diferentes linguagens de programação. Um exemplo muito claro são os sites.
As páginas da web consistem em duas partes muito diferentes. A parte do cliente (também conhecida como Frontend) que é tudo o que podemos ver no nosso navegador quando entramos num site.
A segunda parte é o servidor (também conhecido como Backend) que opera toda a lógica do código e se comunica com o banco de dados.
Quando entramos em uma página web, nosso navegador se comunica com o servidor para solicitar a página que queremos ver. Essa comunicação é feita através do formato JSON já que duas linguagens de programação muito diferentes (frontend e backend) podem se comunicar utilizando um formato padrão de comunicação e transferência de dados, neste caso JSON.
A segunda aplicação deste tipo de notação é a persistência de informações em diferentes tipos de bases de dados.
Existem bancos de dados não relacionais (NoSQL) que usam o formato JSON para armazenar dados. Um exemplo é o popular MongoDB. Este banco de dados utiliza as chamadas coleções, que ainda são um formato JSON, onde as informações são salvas por meio de pares chave-valor.
Há alguns anos, os bancos de dados SQL também permitem que as informações sejam armazenadas em notação JSON. Alguns exemplos são MySQL ou PostgreSQL.
Este tipo de formato permite que os bancos de dados não relacionais sejam mais rápidos que os bancos de dados relacionais, pois não possuem esse esquema definido e o processamento pode ser muito mais rápido.
Regras de sintaxe no formato JSON
Para cumprir a padronização, é importante cumprir uma série de regras de sintaxe para garantir que a notação JSON esteja correta.
Cada um dos objetos é representado por duas chaves, uma para o início e outra para o final. Um objeto pode conter informações diferentes. Vejamos um exemplo.
Imagine que você deseja salvar as informações de um cachorro. Dentro do objeto poderíamos colocar o peso do animal, idade, cor do cabelo, raça entre outras informações. O objeto JSON ficaria assim:
{“id”: 1, “raça”: “Beagle”, “idade”: 3, “cabelo”: “marrom”, “peso”: 12, “masculino”: verdadeiro}
O id representa um número que identifica inequivocamente o cão. Além disso, vemos diferentes tipos de variáveis. Alguns são números, outros são texto, e ainda temos a chave masculina que recebe o valor True, tipo de dado conhecido como Boolean.
Todos estes tipos de dados são reconhecidos pela grande maioria das linguagens de programação, o que permite uma comunicação eficaz entre diferentes sistemas.
Desvantagens da notação JSON
Até agora vimos as características do JSON e como, graças às suas capacidades, ele substituiu em grande parte a linguagem de tags XML para comunicação entre sistemas de computador.
Para finalizar veremos alguns exemplos de desvantagens que este tipo de formato de dados pode acarretar.
Não tem um esquema definido
Quando trabalhamos, por exemplo, com bancos de dados relacionais, os dados são armazenados em tabelas com esquema pré-definido. Ou seja, cada coluna da tabela possui um tipo de valor que pode aceitar (texto, números, booleanos...) e se for adicionado um valor que não pertença ao tipo predefinido ocorrerá um erro.
O mesmo se aplica ao comprimento das informações inseridas. Outras restrições também podem ser especificadas, como a de que o valor não pode ser nulo ou que deve ser exclusivo.
Quando trabalhamos com JSON esse esquema não existe então podemos colocar qualquer tipo de informação. Muitas vezes isso não é um problema, pois não precisamos ter um esquema previamente definido, mas em algumas situações pode ser uma desvantagem.
Portanto, às vezes a sua grande flexibilidade pode ser uma desvantagem e outras vezes uma vantagem. Tudo dependerá dos requisitos do projeto com o qual estamos trabalhando.
Não permite o uso de comentários
Outro problema do JSON é que ele não permite a inserção de comentários. Na programação é fundamental sempre comentar os objetos que estamos utilizando. Desta forma, outros utilizadores poderão compreender perfeitamente a informação que enviamos ou o código que desenvolvemos.