Guias

O que é JSON? Um guia simples, com exemplos

JSON (JavaScript Object Notation) é um formato de texto simples para registrar dados estruturados — coisas como um cliente, um pedido ou uma lista de produtos — como nomes associados a valores. É fácil para as pessoas lerem e fácil para os programas gerarem e interpretarem. Quando apps e serviços trocam dados pela web, o JSON é de longe o formato mais comum.

Por que o JSON importa quando você cria apps com IA

Você vai encontrar JSON o tempo todo, mesmo que nunca escreva código:

  • APIs. Quando as telas do seu app carregam dados do backend, ou quando o seu backend chama um serviço de pagamento, e-mail ou IA, os dados normalmente trafegam como JSON. Veja o que é uma API.
  • Arquivos de configuração. Muitos arquivos de configuração de projetos são JSON — por exemplo, o package.json, que lista as dependências de um projeto JavaScript.
  • Bancos de dados. O Postgres pode guardar JSON em uma coluna (o tipo jsonb) para dados que não cabem em linhas e colunas bem definidas. Veja o que é o Postgres.
  • Saída de IA. Quando você quer que um modelo de IA devolva algo que um programa consiga usar — uma lista de tags, campos extraídos de uma nota fiscal —, normalmente pede JSON.
  • Mensagens de erro e logs. Muitos erros chegam em JSON, e lê-los costuma ser a forma mais rápida de descobrir o que deu errado.

Saber ler JSON permite conferir o que o seu app realmente recebeu, identificar um campo que falta e descrever os problemas com precisão para a sua ferramenta de criação.

Uma analogia do dia a dia

Pense em um formulário de papel: Nome: ____, Telefone: ____, Newsletter: ☐ sim ☐ não. Cada resposta é um rótulo com um valor ao lado. O JSON é esse formulário escrito como texto, em um layout rígido que o computador consegue ler sem adivinhar. E, como os formulários, o JSON pode ter seções dentro de seções (um bloco de endereço com rua, cidade e CEP) e listas (vários telefones).

Como é um JSON

Aqui está uma única reserva em JSON:

{
  "id": 5001,
  "cliente": "Lena Park",
  "servico": "Corte de cabelo",
  "inicioEm": "2026-10-03T14:00:00Z",
  "preco": 35.5,
  "pago": false,
  "observacoes": null,
  "extras": ["aparar barba", "toalha quente"],
  "contato": {
    "email": "lena@exemplo.com",
    "telefone": "+44 20 7946 0000"
  }
}

Lendo:

  • As chaves { } envolvem um objeto — um conjunto de pares nome/valor.
  • Cada par é "nome": valor, separados por vírgulas.
  • Os colchetes [ ] envolvem um array — uma lista ordenada.
  • Objetos e arrays podem ficar um dentro do outro, como acontece com contato e extras.

Os seis tipos de valor

O JSON tem apenas seis tipos de valor. Essa lista curta é uma grande parte do motivo de ele funcionar em todos os lugares.

TipoExemploObservações
String (texto)"Lena Park"Sempre entre aspas duplas
Número35.5, -2, 1e6Sem aspas; sem símbolos de moeda
Booleanotrue, falseMinúsculo, sem aspas
Nullnull“Nenhum valor”
Objeto{ "cidade": "Leeds" }Valores nomeados
Array[1, 2, 3]Lista ordenada; os itens podem ser de qualquer tipo

Não existe tipo de data. As datas são escritas como strings, normalmente no formato ISO 8601 mostrado acima (2026-10-03T14:00:00Z, em que Z significa UTC). Combinar esse formato evita toda uma categoria de erros de fuso horário.

As regras rígidas (de onde vêm os erros)

O JSON é menos tolerante do que parece. Todos estes exemplos são inválidos:

{ nome: "Lena" }            ← chave sem aspas duplas
{ 'nome': 'Lena' }          ← aspas simples
{ "a": 1, "b": 2, }         ← vírgula sobrando
{ "a": 1 "b": 2 }           ← vírgula faltando
{ "a": 1 // comentário }    ← comentários não são permitidos

A maioria dos erros “Unexpected token” que você verá é um desses. Um validador ou formatador de JSON mostra a linha exata.

Um exemplo prático: JSON passando por um app

Uma cliente agenda um corte de cabelo em um app de salão. Veja onde o JSON aparece:

  1. O formulário de reserva envia isto para o backend do app:
{ "servico": "Corte de cabelo", "inicioEm": "2026-10-03T14:00:00Z", "nome": "Lena Park" }
  1. O backend salva a reserva no banco de dados e responde com o status 201 Created e:
{ "id": 5001, "status": "confirmado" }
  1. Se o horário já estiver ocupado, ele pode responder com o status 409 Conflict e:
{ "error": "slot_taken", "message": "Esse horário acabou de ser reservado. Escolha outro." }

A página lê status ou error e mostra a mensagem certa. Se a página mostrasse uma tela em branco, abrir as ferramentas de desenvolvedor do navegador (aba Network) mostraria esse JSON — muitas vezes a pista mais rápida sobre o que deu errado.

Termos principais

TermoSignificado
Chave (key)O nome em um par nome/valor, como "email".
ParseTransformar texto JSON em dados que um programa consegue usar.
Serializar / stringifyTransformar dados em texto JSON para enviar ou guardar.
PayloadOs dados enviados em uma requisição ou resposta.
SchemaUma descrição do formato que os dados devem ter — quais campos e quais tipos. O JSON Schema é um padrão para escrevê-la.
JSONBO tipo de coluna JSON binário do Postgres, que pode ser indexado e consultado.
NDJSON / JSON LinesUm objeto JSON por linha, comum em logs e streaming.

Ideias equivocadas comuns

  • “JSON é JavaScript.” Ele veio da sintaxe do JavaScript, mas não depende de linguagem; Python, Java, C#, Go e as demais leem JSON.
  • “Números entre aspas tanto faz.” "35" é um texto, não um número. Misturar os dois causa bugs como "35" + "5" virar "355". Dinheiro costuma ser melhor guardado em centavos inteiros (3550) para evitar problemas de arredondamento.
  • “JSON é seguro porque são só dados.” O JSON pode carregar qualquer coisa, inclusive segredos. Não coloque chaves de API em um JSON enviado ao navegador.
  • “Coloque tudo em uma coluna JSON.” É prático para extras flexíveis, mas dados que você pesquisa, filtra ou relaciona normalmente devem ficar em colunas próprias.
  • “A IA sempre devolve JSON válido.” Os modelos podem acrescentar texto extra ou quebrar o formato. Muitos provedores oferecem um modo de saída estruturada; o seu código ainda assim deve conferir o que voltou.

O que pedir à sua ferramenta de IA

  • “Mostre um exemplo do JSON que este endpoint devolve.”
  • “Devolva os erros em JSON com um código error e uma message legível por pessoas.”
  • “Guarde as datas como strings ISO 8601 em UTC e converta para o horário local apenas na tela.”
  • “Guarde os preços como centavos inteiros.”
  • “Valide o JSON recebido no servidor e rejeite requisições com campos faltando ou com tipo errado.”
  • “Ao chamar o modelo de IA, peça JSON neste formato exato e confira a resposta antes de usá-la.”

JSON no Mythex

No Mythex, você não precisa escrever JSON à mão — você descreve o que quer e o agente escreve o código que envia e lê esses dados. Ainda assim, vale reconhecê-lo: quando algo quebra, colar a mensagem de erro do JSON no chat dá ao agente uma pista precisa. A receita de backend REST API da documentação pede “mensagens de erro claras em JSON” desde o início, e a receita integrar qualquer API trata de chamar serviços externos. Para a visão geral, veja REST vs GraphQL e como depurar um app criado com IA.

Perguntas

O que é JSON, em termos simples?

JSON (JavaScript Object Notation) é um formato de texto simples para registrar dados estruturados como nomes e valores, como "nome": "Lena". Quase todas as APIs da web usam JSON para trocar dados, e muitos apps o usam para configurações e dados guardados.

JSON é uma linguagem de programação?

Não. JSON é um formato de dados, não uma linguagem. Ele não faz nada sozinho — apenas descreve dados. Embora tenha vindo do JavaScript, praticamente todas as linguagens de programação conseguem ler e escrever JSON.

Qual é a diferença entre JSON e um objeto JavaScript?

Eles se parecem, mas o JSON é mais rigoroso. No JSON, toda chave precisa estar entre aspas duplas, as strings usam aspas duplas, não há comentários nem vírgulas sobrando no fim, e os valores se limitam a strings, números, true, false, null, objetos e arrays.

Por que meu JSON diz que é inválido?

As causas mais comuns são uma vírgula sobrando depois do último item, aspas simples em vez de duplas, uma vírgula faltando entre itens, um colchete não fechado ou um comentário. Cole o conteúdo em um validador de JSON, e ele vai apontar a linha.

Mythex · Pricing · Crie qualquer coisa com IA · Templates de sites e apps · Mythex comparado · Glossário de criação de apps com IA · Ferramentas grátis para criar apps com IA · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)