Json
Conceito
Fala, galera! Os conceitos abaixo são suficientes para você acertar 80% pelo menos das questões.
JSON (JavaScript Object Notation) é um formato leve para intercâmbio de dados, baseado em texto e derivado da notação de objetos do JavaScript. Ele é amplamente utilizado para transmissão de informações entre sistemas e armazenamento de dados estruturados.
📝 JSON vs XML – Comparativo Rápido (Algumas vezes cobram isso)
✅ JSON
✔ Estrutura mais enxuta, sem tags de fechamento.
✔ Usa arrays nativos, economizando espaço.
✔ Parsing mais rápido e eficiente.
✔ Ideal para APIs e bancos NoSQL.
❌ XML
✔ Estrutura mais detalhada, mas consome mais espaço.
✔ Exige tags de abertura e fechamento.
✔ Suporte a schemas e validação rigorosa.
✔ Melhor para documentos complexos.
🔹 Conclusão: JSON é mais leve e eficiente, enquanto XML é mais estruturado para dados hierárquicos complexos.
Características do JSON
- Leve e de fácil leitura: Usa uma estrutura baseada em pares chave-valor e listas ordenadas.
- Independente de linguagem: Embora tenha sido derivado do JavaScript, pode ser utilizado por diversas linguagens de programação, como Python, Java, PHP e C#.
- Formato padrão para APIs: Utilizado na comunicação entre clientes e servidores, especialmente em aplicações web e serviços RESTful.
- Estrutura hierárquica: Permite a criação de dados aninhados, similar ao XML, porém de forma mais enxuta.
- Compatível com banco de dados NoSQL: Como MongoDB e Firebase, que utilizam JSON como estrutura nativa.
- É um modelo para armazenamento e transmissão de informações no formato texto.
- ❌ Não é uma linguagem de programação.
Estrutura do JSON
O JSON pode conter dois tipos principais de estrutura:
- Objeto JSON: Representado por
{}
e contendo pares chave-valor.{
"nome": "Clara",
"idade": 24,
"cidade": "Belém"
} - Array JSON: Representado por
[]
e armazenando múltiplos valores.{
"alunos": [
{"nome": "Michael", "idade": 25},
{"nome": "Helder", "idade": 28}
]
}
A grande maioria das questões são sobre esse formato.
Dica: Se você não trabalha com JSON, treine o formato diversas vezes.
Bancas como CEBRASPE e FGV são as que mais cobram esse formato.
Site para testar formatação JSON: https://jsonlint.com/
Em JSON, os valores podem ser de tipos como:
number - Números (inteiros ou reais), representados como numérico;
string - Texto, representado como string (sequência de caracteres delimitada por aspas duplas);
boolean - Booleanos, representado como verdadeiro (true) ou falso (false);
object - Objetos, que são coleções de pares nome/valor;
array - Arrays (listas ordenadas de valores);
null, que representa um valor nulo.
❌ data/hora não é um tipo de valor nativo em JSON !!
Uso do JSON em Concursos Recentes
Nos últimos 4 anos(2025 - 2021), questões de concursos públicos, especialmente na área de TI, abordaram JSON sob os seguintes aspectos:
- Sintaxe e estrutura (ex.: identificar erros em um JSON mal formatado).
- Conversão entre JSON e outros formatos (ex.: XML e CSV).
- Uso de JSON em APIs REST (ex.: métodos HTTP como GET, POST, PUT, DELETE).
Questão de concurso) Sobre o JSON (JavaScript Object Notation), assinale a alternativa que apresenta um tipo de dado não suportado.
- A date
- B string
- C number
- D boolean
- E array
🔍 Clique para ver a resposta
Questão de concurso) Pedro está desenvolvendo um programa que manipula dados do tipo Arrays (Vetores) no formato JSON.
Para representar dados desse tipo, Pedro deve usar a sintaxe:
- A
{"venda":true}
- B
{"nome":"John"}
- C
{"idade":null}
- D
{"cadastro":["Joao", "Ana", "Pedro"]}
- E
{"pessoa":{"nome":"Joao", "idade":30, "estado":"ES"}}
🔍 Clique para ver a resposta
[]
, contendo valores separados por vírgulas.Questão da Cebraspe - Ano:2024
Assinale a opção que apresenta a sintaxe correta de representação de um array de nomes e sobrenomes de duas pessoas na linguagem JSON.
-
A
{ { "nome": "JOAO", "sobrenome": "SILVA" } , { "nome": "MARIA", "sobrenome": "SOARES" } }
-
B
[ { "nome": "JOAO", "sobrenome": "SILVA" } { "nome": "MARIA", "sobrenome": "SOARES" } ]
-
C
{ "nome": "JOAO", "sobrenome": "SILVA", "nome": "MARIA", "sobrenome": "SOARES" }
-
D
[ { "nome": "JOAO", "sobrenome": "SILVA" } , { "nome": "MARIA", "sobrenome": "SOARES" } ]
-
E
{ ( "nome": "JOAO", "sobrenome": "SILVA" ) , ( "nome": "MARIA", "sobrenome": "SOARES" ) }