Acesso a Informação - JSON
ÍNDICE
1. Introdução
2. Descrição do Serviço
2.1. Sintaxe
1. Introdução
2. Descrição do Serviço
A Lei Federal nº 12.527/11 no Art. 8º, §3º, inciso III exige o acesso
automatizado por sistemas externos em formatos abertos, estruturados e
legíveis por máquina. Para cumprir esta exigência da Lei, foi adotado o JSON
(Java Script Object Notation), que é um formato leve para troca de dados, ou
seja, através dele é possível importar informações presentes no Portal Oficial
desta entidade para outros sistemas.
2.1 Sintaxe
Em
JSON,
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 2014
"ano": 2014
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
"idade": 85
Listagem 3: Representando uma string
"email": [email protected]
Listagem 4: Representando um número negativo
"temperatura": 2
Listagem 5: Representando um valor booleano
“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
[“BA”, “SE”, “CE”, “AL”]
Listagem 7: Matriz de Inteiros
[ [41,3], [-4,45], [284,0], [53, 1] ]
Listagem 8: Objeto
{
“titulo”: “JSON x XML”,
“resumo”: “o duelo de dois modelos de representação de informações”, “ano”: 2014,
“genero”: [“aventura”, “ação”, “ficção”] }
É 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
[ {
“titulo”: “Fortaleza Digital”,
“resumo”: “Ensei Tankado, um ex-funcionário da Agência de Segurança Nacional (NSA) que jura vingar-se dos Estados Unidos, desenvolve um algoritmo de encriptação inquebrável, algo considerado impossível, que caso seja publicamente utilizado inutilizará o computador superpotente da NSA, TRANSLTR, na decodificação de mensagens. A este algoritmo dá o nome de Fortaleza Digital.”,
“ano”: 1998,
“genero”: [“ficção”, “ação”, “aventura”] },
{
“titulo”: “Decept Point – Ponto de Impacto”,
“resumo”: “Quando a NASA encontra um enorme meteorito enterrado na geleira Milne, no alto Ártico, contendo fósseis – uma prova irrefutável da existência de vida extraterrestre - as autoridades políticas americanas se movimentam para tomar vantagem de tal acontecimento. O fascinante achado acontece exatamente quando a NASA se tornou uma questão central na disputa pela presidência que está para acontecer. O candidato à reeleição, o presidente Zachary Herney, vem perdendo pontos com os ataques de seu oponente, o senador Sedgwick Sexton, à ineficiência e aos gastos excessivos da agência espacial.”, “ano”: 2001,
“genero”: [“conspiração científica”] }
]
Por fim, é importante citar que a palavra-chave “null” deve ser utilizada para a representação de valores nulos
Listagem 10: Representando um valor nulo