O que é JSON (JavaScript Object Notation)
O JSON é o formato de dados mais comumente utilizado para comunicação assíncrona navegador/servidor, substituindo amplamente o XML, sendo usado pelo AJAX. Muitas linguagens de programação contemporâneas incluem código para gerar e analisar sintaticamente dados em formato JSON. É um formato leve de intercâmbio de dados que tem como base em um subconjunto da linguagem JavaScript.
Quando um navegador navegador e um servidor trocam informações, estes dados devem ser do tipo texto. JSON é texto, e podemos converter qualquer objeto JavaScript em JSON e enviar JSON para o servidor. Também podemos converter qualquer JSON recebido do servidor em objetos JavaScript.Desta forma, é possível utilizar-se de dados como objetos JavaScript com um nível baixo de complexidade.
Características do JSON (JAVASCRIPT OBJECT NOTATION)
- È completamente independente de linguagem, mas usa padrões que são comuns em linguagens C , C ++, Java, JavaScript, Perl e Python, dentre outras
- Essas propriedades fazem da JSON uma linguagem de intercâmbio de dados ideal.
- É considerada fácil para os humanos ler e escrever.
- É muito utilizado como uma alternativa para XML em AJAX
- Usando do próprio JavaScript mesmo, JSON pode ser analisado trivialmente usando a função eval()
Por que usar JSON? (JAVASCRIPT OBJECT NOTATION)
- Facilita a comunicação com o servidor.
- É fácil para as máquinas analisar e gerar.
- O JavaScript tem uma função incorporada para converter uma string, escrita em formato JSON, em objetos JavaScript nativos: JSON.parse ()
- É simples representar informações: para cada valor representado, atribui-se um nome (ou rótulo) que descreve o seu significado
Semelhanças e Diferenças entre JSON e XML
Segundo a Devmedia estas são as semelhanças e diferenças entre JSON e XML:
Semelhanças:
- Os dois modelos representam informações no formato texto.
- Ambos possuem natureza auto-descritiva (ou seja, basta “bater o olho” em um arquivo JSON ou em um arquivo XML para entender o seu significado).
- Ambos são capazes de representar informação complexa, difícil de representar no formato tabular. Alguns exemplos: objetos compostos (objetos dentro de objetos), relações de hierarquia, atributos multivalorados, arrays, dados ausentes, etc.
- Ambos podem ser utilizados para transportar informações em aplicações AJAX.
- Ambos podem ser considerados padrões para representação de dados. XML é um padrão W3C, enquanto JSON foi formalizado na RFC 4627.
- Ambos são independentes de linguagem. Dados representados em XML e JSON podem ser acessados por qualquer linguagem de programação, através de API’s específicas.
Diferenças:
- JSON não é uma linguagem de marcação. Não possui tag de abertura e muito menos de fechamento!
- JSON representa as informações de forma mais compacta.
- JSON não permite a execução de instruções de processamento, algo possível em XML.
- JSON é tipicamente destinado para a troca de informações, enquanto XML possui mais aplicações. Por exemplo: nos dias atuais existem bancos de dados inteiros armazenados em XML e estruturados em SGBD’s XML nativo.
Exemplo de Uso do JSON (JAVASCRIPT OBJECT NOTATION)
Sintaxe
A sintaxe JSON é semelhante à sintaxe de notação de objeto JavaScript (uma vez que aquela deriva desta):
- Os dados estão nos pares nome / valor
- Os dados são separados por vírgulas
- Objetos são declarados por chaves {}
- Suportes quadrados mantêm a matriz
Exemplo
As chaves {} definem objetos JSON e podem conter múltiplos pares, conforme exemplo a seguir
var colaborador = { "nome" : "Jorge" , "sobrenome" : "Massari" };