Fala, meus consagrados! Tudo beleza com vocês?
Vocês sabem o que JSON? E como ele é cobrado em provas de concursos? Então vamos entender a sua base e responder algumas questões!
Teoria
JSON significa JavaScript Object Notation. Ele é baseado em um subconjunto da linguagem JavaScript e é um formato:
- Leve e ideal para armazenamento e intercâmbio de dados; e
- De texto completamente independente de linguagens de programação, pois usa convenções similares às das linguagens baseadas nas linguagens C e familiares.
As duas estruturas principais JSON são:
- Object: uma coleção de pares chave/valor; e
- Array: uma lista ordenada de valores.
Exemplo de Object:
"funcionario": { "nome": "Rogerão Araujo", "idade": 42, "cidade": "Teresina" }
Exemplo de Array:
"funcionarios": ["Rogerão Araujo", "Kal-El Gildo Araújo"]
A sintaxe JSON é derivada da sintaxe de notação de objeto JavaScript:
- Dados:
- Estão nos pares chave/valor; e
- São separados por vírgulas;
- Objetos:
- São delimitados por chaves { }; e
- Arrays:
- São delimitados por colchetes [ ].
O dado JSON é escrito em um par chave/valor. Esse par consiste em uma chave (nome de campo), estando entre aspas duplas. Essa chave do dado JSON é seguida por por dois pontos e um valor.
No exemplo abaixo, temos a chave professor com o valor Rogerão Araújo:
"professor": "Rogerão Araújo"
As chaves JSON devem ser strings e, por isso, devem ser escritas entre aspas duplas.
Os valores em um dado JSON podem ser:
- Number;
- null;
- Array;
- Boolean;
- Object; e
- String.
Uma forma de memorizar esses tipos é usar o mnemônico Nnabos, as iniciais de cada tipo acima.
Um valor Number pode ser inteiro ou ponto flutuante (“idade”: 42, “altura”: 1.84).
Um valor String deve vir entre aspas duplas (“nome”: “Rogerão”).
Um valor Boolean pode ser apenas dois: true ou false (“vendido”: true).
Um valor null é usado quando não queremos atribuir nada para um dado JSON (“segundoNome”: null).
Vimos s objetos e arrays no início do artigo.
Questões de concursos
[CESPE/CEBRASPE 2021 BANESE – Técnico Bancário III – Área de Informática – Desenvolvimento] Acerca de desenvolvimento web em Java, julgue o próximo item.
Em JSON cada objeto é representado por uma lista de nomes e valores apresentados entre chaves e agrupados por colchetes.
Comentários:
Os objetos JSON são delimitados por chaves { }. Eles contêm vários pares chave/valor separados por vírgula.
Agora os arrays JSON são delimitados por colchetes [ ] e contêm uma lista de valores separados por vírgula.
Dentro de um array, podemos ter vários objetos? Sim. É obrigatório envolver um objeto dentro de um par de colchetes? Não. Então a questão erra neste ponto.
Veja que o texto diz que “Em JSON cada objeto é representado por uma lista de nomes e valores apresentados entre chaves e agrupados por colchetes”. O correto seria:
Em JSON cada objeto é representado por uma lista de nomes e valores apresentados entre chaves e os objetos podem ser agrupados por colchetes em arrays.
O examinador deu o gabarito com certo, mas deveria ser errado.
Gabarito: CERTO, mas deveria ser ERRADO.
[CESPE 2019 CGE/CE – Auditor de Controle Interno – Tecnologia da Informação] As estruturas básicas que constituem um JSon são
(A) uma lista de valores e uma coleção de strings/inteiros.
(B) uma lista de inteiros e uma coleção de pares de strings.
(C) uma lista de valores ordenados e uma coleção de pares nome/valor.
(D) uma lista de strings e uma coleção de pares de booleanos.
(E) uma lista de booleanos e uma coleção de listas de strings.
Comentários:
As duas estruturas principais JSON são:
- Object: uma coleção de pares chave/valor; e
- Array: uma lista ordenada de valores.
Diante dessas estruturas, a letra C trouxe uma lista de valores ordenados (arrays) e uma coleção de pares nome/valor (objetos).
Gabarito: letra C.
[CESPE 2018 STM – Analista Judiciário – Análise de Sistemas] A respeito de construção de sistemas, julgue o item subsequente.
O protocolo JSON é derivado da linguagem de programação Java e sua utilização é restrita a sistemas desenvolvidos em Java ou JavaScript.
Comentários:
Primeiro, que JSON não é um protocolo. Ele é um formato de texto. Segundo, a sua utilizção não é restritra a sistemas feitos com Java ou JavaScript.
Gabarito: ERRADO.
[ESAF 2015 ESAF – Gestão e Desenvolvimento de Sistemas] Em relação a linguagens e ferramentas de desenvolvimento de sistemas Web, é correto afirmar que: (Marque CERTO ou ERRADO o texto da letra)
(D)] JSON (Javascript Object Notation), derivada da SGML (Standard Generalized Markup Language), é capaz de descrever diversos tipos de dados e tem como propósito principal a facilidade de compartilhamento de informações através da internet.
Comentários:
JSON não é derivada da SGML. JSON é baseado em um subconjunto da linguagem JavaScript. Então, corrigindo o texto, temos:
JSON (Javascript Object Notation), baseado em um subconjunto da linguagem JavaScript, é capaz de descrever diversos tipos de dados e tem como propósito principal a facilidade de compartilhamento de informações através da internet.
Gabarito: ERRADO.
Então é isso!
[]s e até a próxima!
_________________________
Professor Rogerão Araújo