JSON-Aprendendo a se comunicar

Por Rafael Ogeda em

JSON (JavaScript Object Notation) é um modelo para armazenamento e transmissão de informações no formato texto. Apesar de muito simples, tem sido bastante utilizado por aplicações Web devido a sua capacidade de estruturar informações de uma forma bem mais compacta do que a conseguida pelo modelo XML, tornando mais rápido o parsing dessas informações.

Isto explica o fato de o JSON ter sido adotado por empresas como Google e Yahoo, cujas aplicações precisam transmitir grandes volumes de dados.

Sintaxe no JSON

A ideia utilizada pelo JSON para representar informações é tremendamente simples: para cada valor representado, atribui-se um nome (ou rótulo) que descreve o seu significado. Esta sintaxe é derivada da forma utilizada pelo JavaScript para representar informações. Por exemplo, para representar o ano de 2012, utiliza-se a seguinte sintaxe:

Listagem 1: Representando o ano de 2012


1"ano": 2012

Um par nome/valor deve ser representado pelo nome entre aspas duplas, seguido de dois pontos, seguido do valor. Os valores podem possuir apenas 3 tipos básicos: numérico (inteiro ou real), booleano e string. As Listagens 2, 3, 4 e 5 apresentam exemplos. Observe que os valores do tipo string devem ser representados entre aspas.

Listagem 2: Representando um número real


1"altura": 1.72


Listagem 3: Representando uma string


1"site": “www.devmedia.com.br”

Listagem 4: Representando um número negativo


1"temperatura": -2

Listagem 5: Representando um valor booleano

1"casado": true

A partir dos tipos básicos, é possível construir tipos complexos: array e objeto. Os arrays são delimitados por colchetes, com seus elementos separados entre vírgulas. As listagens 6 e 7 mostram exemplos.

Listagem 6: Array de Strings

1[“RJ”, “SP”, “MG”, “ES”]

Listagem 7: Matriz de Inteiros


1[
2[1,5],
3[-1,9],
4[1000,0]
5]

Os objetos são especificados entre chaves e podem ser compostos por múltiplos pares nome/valor, por arrays e também por outros objetos. Desta forma, um objeto JSON pode representar, virtualmente, qualquer tipo de informação! O exemplo da Listagem 8 mostra a representação dos dados de um filme.

Listagem 8: Objeto


1
2 “titulo”: “JSON x XML”,
3 “resumo”: “o duelo de dois modelos de representação de informações”,
4 “ano”: 2012,
5 “genero”: [“aventura”, “ação”, “ficção”]
6 }

É possível representar mais de um objeto ou registro de uma só vez. Um exemplo é apresentado na Listagem 9, onde dois filmes são representados em um array.

Listagem 9: Array de objetos

1[“RJ”, “SP”, “MG”, “ES”]

É possível representar mais de um objeto ou registro de uma só vez. Um exemplo é apresentado na Listagem 9, onde dois filmes são representados em um array.

Listagem 9: Array de objetos


1 [
2 {
3 “titulo”: “JSON x XML”,
4 “resumo”: “o duelo de dois modelos de representação de informações”,
5 “ano”: 2012,
6 “genero”: [“aventura”, “ação”, “ficção”]
7 },
8 {
9 “titulo”: “JSON James”, 
10 “resumo”: “a história de uma lenda do velho oeste”,
11 “ano”: 2012,
12 “genero”: [“western”] 
13 }
14 ]                                              

Por fim, é importante citar que a palavra-chave “null” deve ser utilizada para a representação de valores nulos (Listagem 10).

Listagem 10: Representando um valor nulo


1"site":null

Neste artigo, apresentamos os conceitos fundamentais sobre o modelo JSON para a representação de informações – atualmente em nossas APIs utilizamos o JSON para transmitir informações.
Através do JSON podemos representar informações de uma forma mais compacta, rápida e simples do que na XML. Em contrapartida, a XML é uma linguagem mais rica, que possui um maior número de aplicações e um maior grau de maturidade.

Quer saber mais sobre métodos e documentação do nosso ConectorGATE?

SAIBA MAIS:


FONTE: Blog DevMedia