JavaScript: JSON em JavaScript

Última atualização: 2026-10-13

JSON (JavaScript Object Notation) é um formato leve de troca de dados. Pense nele como uma caixa de envio padronizada — não importa o que você coloca dentro, a embalagem segue uma especificação universal para que o destinatário saiba exatamente como abrir. Comunicação front-end/back-end, arquivos de configuração, armazenamento local — JSON está em todo lugar.


Métodos JSON relacionados:JSON.stringify() JSON.parse() prompt parse Date

1. Regras de Sintaxe do JSON

JSON se parece muito com um objeto literal JS, mas as regras são mais rígidas:

Regra Descrição
Chaves devem usar aspas duplas "nome" ✅ nome ❌ 'nome' ❌
Valores string devem usar aspas duplas "olá" ✅ 'olá' ❌
Sem vírgulas finais {"a":1,} ❌
Tipos de valor limitados string, número, booleano, null, objeto, array
Não permitido undefined, funções, comentários
JSON
{
  "nome": "Alice",
  "idade": 25,
  "habilidades": ["HTML", "CSS", "JS"],
  "endereco": {
    "cidade": "São Paulo",
    "cep": "01001-000"
  },
  "ativo": true,
  "conjuge": null
}
⚠️ Nota: Sem aspas simples no JSON! O erro mais comum de iniciante é escrever 'chave' ou 'valor' — isso é válido em JS mas ilegal em JSON.



JSON.stringify() converte um valor JS em uma string JSON — serialização.

HTML
<script>
JSON.stringify(valor)
JSON.stringify(valor, substituidor)
JSON.stringify(valor, substituidor, espaco)
</script>
Parâmetro Descrição
valor O valor a serializar
substituidor Filtrar ou transformar — uma função ou array
espaco Indentação — número ou string, para formatação bonita

▶ Exemplo: Serialização e Formatação

▶ Experimente
💡 Dica: Nota: undefined, funções e Symbols são ignorados durante a serialização (propriedades desaparecem de objetos, viram null em arrays). Objetos Date são convertidos para strings ISO.



3. JSON.parse()

JSON.parse() converte uma string JSON de volta em um valor JS — desserialização.

HTML
<script>
JSON.parse(texto)
JSON.parse(texto, recuperador)
</script>
Parâmetro Descrição
texto A string JSON
recuperador Uma função de transformação aplicada a cada par chave-valor

▶ Exemplo: Desserialização

▶ Experimente

4. JSON vs Objeto JS

Comparação JSON Objeto JS
Natureza String (texto) Estrutura de dados em memória
Aspas nas chaves Aspas duplas obrigatórias Omitíveis (para identificadores válidos)
Tipos de valor Limitados (6 tipos) Qualquer tipo
Vírgulas finais Não permitidas Permitidas
Comentários Não permitidos Suportados (via ferramentas)
💡 Dica: Maneira fácil de lembrar: JSON é "uma versão em string de objetos JS com validação rigorosa." Não é um objeto — é texto. Você precisa de parse para transformá-lo em um objeto com o qual pode trabalhar.

▶ Exemplo: Erros Comuns de JSON

▶ Experimente
💡 Dica: Os três erros de JSON mais comuns: aspas simples, vírgulas finais e undefined. Ao depurar problemas de JSON, cole no console do navegador com JSON.parse() — a mensagem de erro indicará o local exato.


Métodos JSON relacionados:JSON.stringify() JSON.parse() prompt parse Date

❓ Perguntas Frequentes

P Por que JSON.stringify(NaN) retorna null?
R A especificação JSON não tem NaN, Infinity ou -Infinity — todos viram null durante a serialização. Se precisar preservar esses valores, use uma função substituidor personalizada.
P JSON.parse consegue fazer parse de literais de objeto JS?
R Não. JSON.parse('{}') funciona, mas JSON.parse('{a:1}') lança um erro — a chave falta aspas duplas. A sintaxe JSON é mais rigorosa que literais de objeto JS.
P É possível escrever comentários em JSON?
R JSON padrão não suporta comentários. Se necessário, use um campo como "_comentario": "descricao" como alternativa, embora isso não seja uma convenção formal.

📖 Resumo


📝 Exercícios

  1. Básico: Crie um array de 3 objetos de alunos e formate a saída com JSON.stringify (indentação de 2 espaços).
  2. Intermediário: Escreva uma função parseSeguro(str) que envolva JSON.parse em try/catch, retornando o resultado em caso de sucesso ou null com mensagem de erro em caso de falha.
  3. Desafio: Construa um "bloco de notas local" — use prompt para entrada, salve no localStorage com JSON.stringify, e carregue/exiba ao carregar a página com JSON.parse.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%