Pular para o conteúdo principal

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:

  1. Objeto JSON: Representado por {} e contendo pares chave-valor.
    {
    "nome": "Clara",
    "idade": 24,
    "cidade": "Belém"
    }
  2. Array JSON: Representado por [] e armazenando múltiplos valores.
    {
    "alunos": [
    {"nome": "Michael", "idade": 25},
    {"nome": "Helder", "idade": 28}
    ]
    }
cuidado

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/

Não copia e cola, claro! Tens que criar formatações manualmente pra aprender!

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
✅ **Resposta correta: A (date)**📌 JSON não possui um tipo nativo para datas.

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
Resposta correta: D 📌 No JSON, um array (vetor) é representado por colchetes [], 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" ) }

🔍 Clique para ver a resposta
Resposta correta: D