Validador de JSON

Valide se seu JSON é bem formado com feedback em tempo real. Exibe o erro com posição exata e estatísticas da estrutura.

Validador de JSON online

Cole seu JSON abaixo para validar em tempo real. A validação ocorre automaticamente enquanto você digita.

O que torna um JSON inválido?

O padrão JSON (RFC 8259) é mais restrito que o JavaScript. Os erros mais comuns são:

Vírgula no final (trailing comma)

// INVÁLIDO
{"nome": "Ana", "idade": 30,}

// VÁLIDO
{"nome": "Ana", "idade": 30}

Aspas simples

// INVÁLIDO
{'nome': 'Ana'}

// VÁLIDO
{"nome": "Ana"}

Comentários

// INVÁLIDO — JSON não suporta comentários
{
  "host": "localhost", // servidor local
  "porta": 3000
}

Valores JavaScript não suportados

// INVÁLIDO
{"resultado": undefined}
{"valor": NaN}
{"callback": function() {}}

// VÁLIDO — use null para ausência de valor
{"resultado": null}

Diferença entre JSON válido e JSON bem formado

JSON bem formado (well-formed): segue a sintaxe correta do padrão JSON — chaves com aspas duplas, vírgulas corretas, tipos válidos. É o que este validador verifica.

JSON válido semanticamente: além de bem formado, os dados respeitam um schema específico (ex: um campo idade que deve ser um número positivo). Isso requer JSON Schema e ferramentas adicionais.

Como validar JSON em código

JavaScript / Node.js:

function isValidJson(text) {
  try {
    JSON.parse(text);
    return true;
  } catch {
    return false;
  }
}

Python:

import json

def is_valid_json(text):
    try:
        json.loads(text)
        return True
    except json.JSONDecodeError:
        return False

PHP:

function is_valid_json(string $text): bool {
    json_decode($text);
    return json_last_error() === JSON_ERROR_NONE;
}

Como encontrar erros em JSONs grandes

A mensagem de erro do JSON.parse indica a posição aproximada do problema. Estratégias úteis:

  1. Divida o JSON pela metade e valide cada metade para isolar o erro
  2. Use um editor com syntax highlighting — VS Code destaca erros de JSON automaticamente
  3. Procure por vírgulas duplas ,, ou vírgulas antes de }/]
  4. Verifique aspas não fechadas — especialmente em strings com caracteres especiais

Perguntas frequentes

JSON aceita comentários?

Não. O padrão JSON não permite // ou /* */. Se precisar de comentários em arquivos de configuração, use JSONC (suportado pelo VS Code) ou YAML.

undefined é um valor JSON válido?

Não. Os únicos valores JSON são: string, number, object, array, true, false e null. O valor undefined do JavaScript não tem equivalente em JSON.

Qual a diferença entre null e undefined em JSON?

Em JSON, só existe null. O undefined do JavaScript é ignorado ou convertido para null pelo JSON.stringify. Para representar ausência de valor, use null explicitamente.

Como encontrar o erro em um JSON grande?

Use este validador — ele exibe a mensagem de erro do parser com a posição aproximada. O Formatador de JSON também pode ajudar a identificar problemas ao tentar formatar o conteúdo.