Formatador & Validador JSON (Online)

Formatador & Validador JSON (Online)

Formate, valide, embeleze e repare JSON corrompido instantaneamente online. Corrija erros de sintaxe, adicione aspas a chaves, minifique e inspecione nós da árvore com zero envio ao servidor.

Predefinições:
Parâmetros & EntradaAST Reparada
{
  "timestamp": 1729482000,
  "service": "auth-proxy",
  "is_authenticated": true,
  "mfa_verified": false,
  "session_metadata": null,
  "scopes": [
    "read:profile",
    "write:orders"
  ],
  "retry_count": 0
}

Distribuição de Tipos na AST

10 Total de Nós
Indicador de Cota Alvo215 BLimite de Cota: 256 KB
Distribuição de Camadas de Profundidade (N1 ~ N6+)L11L27L32L4L56+Profundidade Máx.: 3 níveis
Distribuição de Tipos na AST
10
Objetos: 1
Arrays: 1
Strings: 3
Números: 2
Booleanos: 2
Nulos: 1
Métrica Principal
AST Reparada
BOM UTF-8 Removido • LF Normalizado
Eficiência / Capacidade
-2.7%
221 B → 215 B
Saída Líquida
10 Total de Nós • D:3
1 Objetos • 1 Arrays
Referência técnica e guia de arquitetura

Formatador JSON & Validador Online — Guia de referência

Formate, embeleze, valide e repare JSON corrompido online instantaneamente. Corrija erros de sintaxe, chaves sem aspas, minifique e inspecione nós em árvore com execução 100% no cliente e zero envio ao servidor.

Formatador JSON & Validador Online — Guia de referência — Arquitetura em memória do lado do cliente e fluxo de dados
Formatador JSON & Validador Online — Guia de referência — Arquitetura em memória do lado do cliente e fluxo de dados

Parâmetros-chave e controles

Espaços de indentação (indent_spaces)integer | string

Controla a largura visual da indentação por nível de bloco aninhado. Os padrões da indústria contemplam 2 espaços (guias de estilo do Google e Airbnb), 4 espaços (padrões PEP 8 e convenções Java) ou caracteres de tabulação (Tab) para alinhamento monoespaçado compacto.

Padrão: 2
Tolerância no estilo de aspas (quote_style_tolerance)string

Regula a validação de aspas em strings em conformidade com a Seção 7 da RFC 8259. O modo estrito (strict) exige aspas duplas ("); o modo tolerante (tolerant) aceita aspas simples (') ou chaves de identificadores sem aspas, normalizando-as para o padrão.

Padrão: strict
Política de vírgulas finais (trailing_comma_policy)string

Determina como delimitadores excedentes no final de objetos ou arrays são processados. A especificação RFC 8259 proíbe terminantemente vírgulas finais (trailing commas), enquanto o ECMAScript 5.1 e a especificação JSON5 as autorizam para manter diffs limpos no controle de versão (Git).

Padrão: strip
Ordenação de chaves do objeto (key_sort_order)boolean | string

Especifica a ordem dos membros e propriedades do objeto. A ordenação lexicográfica (A-Z) proporciona serialização determinística indispensável para hashing de assinaturas criptográficas (RFC 8785 JSON Canonicalization Scheme / JCS) e comparação precisa de diffs.

Padrão: preserve
Proteção de precisão para BigInt (bigint_precision_guard)boolean

Aplica verificação rigorosa de limites numéricos seguros contra as restrições de dupla precisão IEEE 754 (Number.MAX_SAFE_INTEGER: 9.007.199.254.740.991 ou 2^53 - 1). Valores que ultrapassam esse teto são sinalizados para prevenir arredondamento silencioso e corrupção de dígitos.

Padrão: true
Tratamento de escapes Unicode (unicode_escape_handling)string

Configura a representação de caracteres não ASCII. Determina se pontos de código fora da faixa ASCII (U+0080 em diante) são preservados como literais UTF-8 nativos ou convertidos em sequências de escape \uXXXX de 6 caracteres.

Padrão: utf-8

Dicas profissionais e melhores práticas

Truncamento de ponto flutuante IEEE 754 em IDs de 64 bits

O método nativo JSON.parse() desserializa valores numéricos como números de ponto flutuante de 64 bits IEEE 754 com 53 bits de mantissa. Qualquer inteiro que supere 9.007.199.254.740.991 (2^53 - 1), como Snowflake IDs do Discord, IDs do Twitter/X ou timestamps em nanossegundos, sofrerá arredondamento silencioso em seus dígitos menos significativos. Conserve sempre identificadores numéricos de grande magnitude como strings entre aspas em payloads JSON.

Invalidação de hashes criptográficos por chaves de objetos não ordenadas

A especificação RFC 8259 estipula expressamente que a ordem das propriedades em um objeto JSON não possui significado semântico. Se você calcular um hash SHA-256 ou uma assinatura HMAC diretamente sobre uma string JSON sem ordenar previamente as chaves, estruturas de dados idênticas com sequências de inserção distintas produzirão checksums incompatíveis. Utilize a ordenação canônica determinística da RFC 8785 (JCS) antes de computar qualquer resumo criptográfico.

Armadilhas de Byte Order Mark (BOM) invisível e espaços de largura zero

Arquivos salvos com codificação UTF-8 BOM incluem uma sequência de bytes invisível (\uFEFF) no índice 0. Os analisadores JSON padrão rejeitam esse caractere com o erro enigmático 'Unexpected token at position 0', mesmo quando a estrutura visual aparenta perfeição. Um formatador de nível de produção deve purgar o BOM inicial e caracteres de espaço de largura zero (\u200B) durante a fase de pré-análise léxica.

Armadilhas de estruturas circulares em grafos de objetos aninhados

Invocar JSON.stringify() em estruturas de dados contendo ponteiros autorreferenciais dispara a exceção irrecuperável 'TypeError: Converting circular structure to JSON'. Ao formatar estados ou árvores complexas de aplicações, implemente uma função replacer baseada em WeakSet para rastrear nós visitados e substituir referências cíclicas por marcadores explicativos como '[Circular Reference]'.

Armadilhas comuns e solução de problemas

⚠️SyntaxError: Unexpected token ' in JSON at position X (Erro por aspas simples)

A Seção 7 da RFC 8259 exige estritamente o uso de aspas duplas (") tanto em strings literais quanto em chaves de objetos; o uso de aspas simples gera sintaxe inválida no JSON. Utilize a função de reparo automático de JSON corrompido para converter automaticamente strings com aspas simples e chaves desprotegidas no padrão RFC compatível com aspas duplas.

⚠️SyntaxError: Unexpected token , in JSON at position X (Vírgula final ou trailing comma)

Vírgulas finais antes do fechamento de colchetes ] ou chaves } violam a especificação estrita do JSON, interrompendo imediatamente o parser. Habilite o modo permissivo JSON5 ou utilize o limpador automático para remover vírgulas redundantes antes de delimitadores de fechamento usando substituição por expressões regulares com lookahead.

⚠️Alteração ou arredondamento involuntário de IDs Snowflake de 64 bits

Motores JavaScript não conseguem representar nativamente inteiros superiores a 2^53 - 1 em tipos Number sem perda de precisão. Para valores como 9007199254740993, envolva o número entre aspas duplas ("9007199254740993") ou configure a proteção de precisão BigInt para tratar tokens numéricos extensos como strings seguras.

⚠️SyntaxError: Unexpected token / in JSON at position X (Comentários não permitidos em JSON)

A especificação padrão do JSON não suporta comentários de linha única (//) nem de múltiplas linhas (/* */). Ao formatar arquivos de configuração originários de tsconfig.json ou ajustes do VSCode, alterne o regime do analisador para o modo JSON5 / Permissivo para remover comentários com segurança enquanto preserva todas as propriedades e dados válidos.

Perguntas frequentes (FAQ)

Como formatar e validar JSON online sem riscos à segurança ou à privacidade dos dados?▼

Formate seu JSON utilizando ferramentas web 100% executadas no lado do cliente (client-side) que processam as entradas localmente na memória do navegador por meio do motor JavaScript V8. Nenhuma requisição de rede, chamada de API ou armazenamento em servidores remotos é realizada, garantindo que chaves de API confidenciais, registros corporativos de clientes e tokens de autenticação jamais saiam da sua máquina.

Qual é a diferença entre os padrões JSON e JSON5?▼

O JSON (RFC 8259) é um formato de intercâmbio de dados ultraestrito que exige chaves delimitadas por aspas duplas, proíbe comentários e rejeita vírgulas finais. Já o JSON5 é um superconjunto compatível com ECMAScript 5.1 projetado para maior facilidade de leitura e escrita humana, suportando comentários de linha e de bloco (// e /* */), vírgulas finais, strings com aspas simples, chaves sem aspas, números hexadecimais (0xFF) e sinais positivos explícitos (+42).

Por que o JSON.parse() falha ao processar aspas simples ou chaves sem aspas?▼

A Seção 7 da RFC 8259 estipula formalmente que strings devem ser delimitadas exclusivamente por aspas duplas Unicode (U+0022). Aspas simples (U+0027) são caracteres inválidos na gramática JSON. Embora chaves sem aspas sejam aceitas em literais de objetos JavaScript, violam a sintaxe padrão do JSON; um analisador léxico de reparo automatizado precisa envolver identificadores desprotegidos entre aspas duplas para garantir conformidade estrita com a RFC.

Como solucionar erros de referência circular em JSON (Converting circular structure to JSON)?▼

Erros de referência circular ocorrem quando um objeto referencia a si mesmo de forma direta ou indireta por meio de uma propriedade ancestral, provocando uma recursão infinita durante a serialização. Para resolver o problema, forneça uma função de substituição (replacer) customizada para o JSON.stringify() utilizando um WeakSet para rastrear referências já visitadas, substituindo ramificações cíclicas por marcadores explicativos como '[Circular]'.

Como manipular BigInt de 64 bits e timestamps extensos em JSON sem perder precisão?▼

A função nativa JSON.parse() converte valores numéricos para floats de 64 bits em dupla precisão IEEE 754, gerando truncamento silencioso em números inteiros que ultrapassam 9.007.199.254.740.991. Para processar identificadores de 64 bits com total integridade (como snowflakes do Twitter/X ou marcas de tempo UNIX em microssegundos), utilize um pré-analisador com expressões regulares para encapsular entre aspas todo número que exceda 15 dígitos antes da análise sintática.

Ferramentas e utilitários relacionados

Todas as ferramentas →