O que é JSON?

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!

Avatar


28 de fevereiro3 min. de leitura

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.

Figura 1: os tipos dos valores JSON.

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

Avatar


28 de fevereiro3 min. de leitura