JSON é um acrônimo para JavaScript Object Notation e traz algumas vantagens na implementação de recursos em uma página. Descubra mais no blog da HostGator.

JSON é uma sigla para JavaScript Object Notation, um formato de arquivo de padrão aberto para armazenar dados de maneira organizada e legível, ao mesmo tempo que facilita o acesso. Os dados são apresentados em um formato textual básico, que consiste em pares “chave / valor”.

Estreitamente relacionado ao JavaScript, esse formato pode, entretanto, ser gerado e lido pela maioria das linguagens de programação. Essa universalidade permitiu que ele se tornasse uma forma muito popular de armazenar, organizar, ler e compartilhar dados em aplicativos e serviços da web.

Muitos sites usam JSON para compartilhamento de dados, além de feeds RSS – um formato de distribuição de conteúdo em tempo real pela internet. Por um bom motivo, os feeds JSON podem ser carregados de forma assíncrona com mais facilidade do que os feeds XML / RSS.

É, portanto, amplamente utilizado para comunicação assíncrona entre navegador e servidor, em particular como um substituto para XML em certos sistemas do tipo AJAX.

Breve histórico do JSON

Originalmente, o JavaScript Object Notation nasceu de uma associação entre JavaScript e scripts do lado do cliente. Foi inventado por Douglas Crockford, que continua a ser a figura a manter o site oficial JSON.org.

A primeira especificação oficial do JSON é o padrão ECMA-404 de 2013, mas o site oficial foi lançado em 2002. Além disso, o Yahoo e o Google começaram a usá-lo somente em 2005 – 2006.

Como funciona?

Baseado em um subconjunto de JavaScript, JSON é um formato de texto completamente independente de qualquer idioma. No entanto, as convenções usadas não surpreenderão os programadores familiarizados com linguagens descendentes de C, como JavaScript, Python, Pearl ou outras.

Em outras palavras, funciona um pouco como o XML (mas menos desenvolvido) e facilita a estruturação das informações presentes em um documento de computador. 

Como é usado simplesmente para facilitar a troca de dados, não deve conter comentários, por exemplo, o que o distingue de uma linguagem de computador totalmente desenvolvida. No entanto, algumas bibliotecas os aceitam, se forem escritos em JavaScript.

JSON é uma das linguagens compreensíveis tanto pela mente humana quanto por uma máquina. Além disso, seu aprendizado é fácil e intuitivo. No entanto, permanece muito limitado e isso o torna menos confiável e pouco resistente em termos de segurança

Como armazenar objetos JSON?

Concretamente, os objetos JavaScript Object Notation são apenas textos. Portanto, é possível armazená-los de várias maneiras. Eles podem ser armazenados em um banco de dados, em um arquivo de texto separado, no armazenamento do cliente como cookies, ou mesmo usando o formato .json.

Depois que o conteúdo é armazenado, ele pode ser recuperado e descriptografado de diferentes maneiras e em diferentes idiomas. Com a linguagem JavaScript, você pode usar os métodos JSON.stringify () e JSON.parse ().

Quais são os principais usos da linguagem JSON?

É usado em várias situações, como:

  • Solicitações AJAX, pois sua exploração por Javascript é mais rápida e simples do que por XML 
  • Enviar informações de um servidor para um usuário, a fim de exibi-las em uma página da internet, ou vice-versa. Essas características o tornam uma linguagem ideal e universal para a troca de dados.
  • Formato de texto para implementar tags de dados estruturados do schema.org, que estruturam páginas HTML e permitem que os mecanismos de pesquisa entendam seu conteúdo. Atualmente, este formato também é recomendado pelo Google.

Diferenças entre JSON e objeto JavaScript

Como o nome sugere, JSON é mais ou menos um objeto JavaScript, no entanto, existem algumas diferenças. Em primeiro lugar, conforme explicado anteriormente, JSON é um formato de texto que facilita a troca de dados estruturados entre todas as linguagens de programação. 

Portanto, é universal e não se limita ao JavaScript. Na verdade, não faz parte do JavaScript, é apenas derivado da maneira como os objetos JavaScripts são escritos. 

Em termos de sintaxe, existem duas diferenças principais. Primeiro, todos os nomes (chaves) são representados como strings, ou seja, eles devem ser colocados entre aspas.

A outra grande diferença está no tipo de dados que o JSON pode armazenar. Ele aceita os seguintes valores:

  • Object (objeto)
  • Array (arranjo)
  • Number (número)
  • True (verdadeiro)
  • False (falso)
  • Null (nulo)

É muito semelhante ao que você encontra em objetos JS, mas como o JSON é representado como texto, você não pode atribuir a ele coisas como funções ou valores de data dinâmica usando Date(), por exemplo. 

Portanto, não existem métodos ou outras funcionalidades em JSON, existe apenas texto. E, por um lado, isso é bom porque o torna um formato universal de troca de dados.

É importante observar que uma parte completa do próprio JSON é tecnicamente um objeto JSON, e o tipo Object é o que permite que os objetos JSON sejam aninhados como valores, bem como objetos em JavaScript.

Bibliotecas externas

A linguagem JSON foi criada para armazenar objetos JavaScript. Ele se espalhou e agora pode ser usado pela maioria das linguagens de desenvolvimento, incluindo Java. 

A linguagem Java, no entanto, não fornece métodos nativos para analisar uma sequência de caracteres JSON. Por isso, a solução mais simples é usar bibliotecas externas.

A biblioteca org.json permite que você analise uma string de caracteres JSON para então ler os objetos e seus atributos diretamente, como um objeto ou como uma matriz.

JSON vs XML: qual é o melhor formato de dados?

Embora o XML ainda seja amplamente usado, o JSON ganhou muito em popularidade. De acordo com Douglas Crockford, esse formato realmente tem várias vantagens sobre o XML!

Em primeiro lugar, o XML não é otimizado para troca de dados, por exemplo. Por um bom motivo, não corresponde ao modelo de dados da maioria das linguagens.

Quais são as desvantagens do JSON?

Apesar de suas muitas vantagens, como flexibilidade e concisão, esse formato de dados tem vários pontos fracos. 

Em primeiro lugar, a ausência de um esquema que permita flexibilidade em termos de representação dos dados também aumenta o risco de “distorcer” as informações, o que é bem grave.

Além disso, o único tipo de número compatível é o formato de ponto flutuante de precisão dupla. Portanto, não é possível tirar proveito dos outros tipos de números mais variados e matizados encontrados em muitas linguagens de programação.

Também não há nenhum tipo de data. Na verdade, os desenvolvedores devem representar as datas como strings. 

Em consequência, isso pode levar a problemas de discrepância de formato. Assim, a única alternativa é representar as datas como milissegundos.

A ausência de comentários também impede que os campos sejam anotados. É necessário recorrer a documentação adicional, o que aumenta o risco de mal-entendidos. 

Finalmente, mesmo que seu detalhamento seja menor em comparação ao XML, este formato de troca de dados não é o mais conciso.

O que é JSONP?

JSONP (“JSON com preenchimento”) é uma solução para superar as restrições e limitações de origens cruzadas relacionadas a solicitações de recursos localizados em um domínio diferente da origem da solicitação. 

Bob Ippolito criou o JSONP em 2005, logo após a solução semelhante de George Jempty chamada JSON ++ .

JSON tira proveito do fato de que os itens <script> não são limitados por origem cruzada. É assim que podemos nos vincular a scripts localizados em CDNs remotos sem problemas.

Ferramentas JSON

Existem muitas ferramentas disponíveis para fazer muitas coisas com dados JSON. Aqui está uma lista de algumas ferramentas interessantes para experimentar:

  • JSONLint – um validador de dados JSON. É uma boa ferramenta para aprender os fundamentos da sintaxe e como ela difere da sintaxe do objeto JavaScript.
  • json.browse – Permite navegar, embelezar , manipular JSON de fonte externa ou copiar / colar JSON. Um recurso interessante é a capacidade de filtrar dados com base em uma palavra-chave.
  • JSONedit – Um construtor JSON visual que facilita a construção de estruturas JSON complexas com diferentes tipos de dados.
  • JSON Schema – um vocabulário que permite anotar e validar documentos JSON.
  • JSON API – Uma especificação para fazer APIs em JSON.
  • CSVJSON – conversor CSV e SQl para JSON
  • JSON Formatter – ferramenta online para validar, aprimorar, minimizar e converter dados JSON.
  • excelJSON – ferramenta online para converter CSV ou TSV para JSON e JSON para CSV ou TSV.
  • Myjson – Um armazém JSON simples para seu aplicativo da web ou móvel.
  • jsonbin.org – Um novo projeto de Remy Sharp, um armazém JSON como serviço. Protegido por autenticação, os dados são armazenados em JSON e podem ser vinculados”.
  • Kinto – um warehouse JSON genérico com a capacidade de compartilhar e sincronizar.
  • JSON Generator – ferramenta online para gerar dados aleatórios em JSON.
  • Hjson – Uma extensão de sintaxe para JSON, para tornar mais fácil para humanos ler e corrigir, antes de enviar dados para a máquina.
  • JSON Selector Generator – copie / cole JSON, clique em qualquer dado e esta ferramenta dirá qual “seletor” usar em JavaScript para acessar esses dados.

Considerações finais sobre JSON

Se JSON era um conceito relativamente novo para você, esperamos que este artigo tenha dado uma boa ideia do que ele pode fazer no seu trabalho! Em resumo, JSON é uma tecnologia sólida, fácil de usar e poderosa porque é universal. Aproveite!

Se gostou, não deixe de compartilhar este conteúdo e acompanhar o blog da HostGator para mais artigos sobre tecnologia, negócios, marketing e mais.