Pular para o conteúdo

Formatador JSON online: validar JSON e JSON5

Formata JSON com indentação de 2 espaços e informa erros de sintaxe com linha e coluna. A entrada é interpretada como JSON5, então comentários, aspas simples, chaves sem aspas e vírgulas finais são aceitos; a saída é sempre JSON estrito.

Ler uma resposta de API minificada que chega em uma única linha.

Aceita JSON e JSON5, incluindo comentários, aspas simples e vírgulas finais. Não executa funções nem expressões JavaScript.

Entrada JSON / JSON5

JSON formatado

Quando usar

  • Ler uma resposta de API minificada que chega em uma única linha.
  • Transformar um arquivo JSON5 com comentários ou no estilo tsconfig em JSON estrito para uma ferramenta que rejeita comentários.

Como usar

  1. Cole JSON ou JSON5 no editor da esquerda ou carregue um arquivo .json.
  2. Se aparecer um erro, vá até a linha e a coluna indicadas e verifique aspas, colchetes e vírgulas.
  3. Copie o JSON estrito indentado do editor da direita.

Entrada JSON ou JSON5

// service config
{
  name: 'billing-api',
  port: 8080,
  retries: [1, 2, 4,],
  debug: false,
}

JSON formatado

{
  "name": "billing-api",
  "port": 8080,
  "retries": [
    1,
    2,
    4
  ],
  "debug": false
}

Detalhes e limitações

A formatação roda no seu navegador; nada é enviado a um servidor.

Os comentários e o estilo de aspas original são descartados. A indentação é fixa em 2 espaços; esta página não tem opção de minificar nem de ordenar chaves.

Os valores são interpretados apenas como dados, nunca executados. NaN e Infinity são rejeitados porque o JSON não consegue representá-los.

Chaves duplicadas não geram erro: o último valor prevalece, então {"a":1,"a":2} vira {"a": 2}.

FAQ

Ele formata JSON que contém comentários?

Sim. Comentários // e /* */ são aceitos porque a entrada é lida como JSON5, mas são removidos da saída, que é JSON estrito.

Por que meu número inteiro grande mudou?

Os números viram doubles do JavaScript, então inteiros acima de 2^53 perdem precisão: 12345678901234567890 é exibido como 12345678901234567000. Coloque IDs longos entre aspas, como strings.

Ele valida contra um JSON Schema?

Não. Ele só verifica a sintaxe. Campos obrigatórios, tipos e intervalos de valores definidos por um schema não são verificados.

Especificações e referências