Saltar para o conteúdo
BCBinary Code Translator
Menu

Utilitário de dados

Formatador, minificador e validador JSON

Formate, compacte e valide JSON localmente, com indicação prática de linha e coluna para erros e alertas para inteiros fora do intervalo seguro do JavaScript.

A entrada permanece neste separador. A ferramenta analisa dados; não avalia expressões nem executa código presente em cadeias de texto.

Como usar o formatador JSON

Cole um valor JSON completo e escolha a operação. Formatar e minificar analisam o documento primeiro, portanto uma entrada inválida não é reescrita silenciosamente. Validar mantém o texto original e verifica apenas a sintaxe.

  1. Cole um objeto, array, cadeia de texto, número, booleano ou null que siga a gramática JSON.
  2. Escolha recuo de dois ou quatro espaços, ou Minificar para remover espaços sem significado.
  3. Use Validar para uma verificação sintática e corrija primeiro a linha e coluna informadas.
  4. Reveja o alerta de inteiro grande antes de copiar IDs, valores exatos ou contadores.

Exemplos e comportamento esperado

Entrada Saída Observações
{"name":"Ada","active":true} { "name": "Ada", "active": true } Um objeto pequeno recebe recuo uniforme e fica mais fácil de rever.
[1,2,{"ok":false}] [1,2,{"ok":false}] A minificação remove espaços insignificantes sem alterar a ordem do array.
{"message":"Olá 👋"} JSON válido As cadeias de texto JSON aceitam Unicode e emojis.
{"a":1,} Erro perto da vírgula final JSON padrão não permite vírgula depois do último item.
{"id":9007199254740993} Resultado com alerta de precisão A sintaxe é válida, mas Number não representa o inteiro exatamente.
{"code":"alert(1)"} Uma cadeia de texto comum Texto parecido com código continua a ser dado e não é executado.

Entrada aceite e gramática JSON

Um documento JSON contém um único valor de nível superior: objeto, array, cadeia de texto, número, true, false ou null. Os nomes de propriedades e as cadeias usam aspas duplas; aspas internas, barras invertidas e carateres de controlo têm de ser escapados. Comentários, aspas simples, undefined, NaN, Infinity, literais hexadecimais e vírgulas finais não fazem parte do JSON padrão.

Espaços, tabulações e quebras de linha são permitidos entre tokens. O formatador normaliza esse espaço, mas não ordena chaves, não renomeia propriedades nem altera o conteúdo de cadeias de texto. Chaves duplicadas são ambíguas e o analisador sintático de JavaScript normalmente preserva o último valor, por isso devem ser removidas mesmo quando o documento é aceite.

  • Use UTF-8 ao trocar JSON entre sistemas.
  • Represente quebras dentro de cadeias de texto com \n.
  • Sintaxe válida não significa conformidade com um esquema de negócio.

Formatação, minificação e localização de erro

Formatar analisa o valor e o serializa com dois ou quatro espaços. Minificar faz a mesma análise e remove espaços e quebras desnecessários. Não são transformações textuais sem perda: chaves duplicadas, a escrita original de números e valores fora da precisão segura podem mudar ao serializar.

A validação converte a posição do analisador sintático em linha e coluna, começando em 1. Uma aspa ou vírgula ausente pode ser detetada apenas no token seguinte, pelo que a posição é uma ajuda de diagnóstico. Corrija o primeiro problema e valide novamente antes de tratar os restantes.

  • A ferramenta não corrige JSON inválido automaticamente.
  • Minificar não equivale a gzip nem a criptografia.
  • A validação sintática não verifica campos obrigatórios ou tipos do domínio.

Inteiros grandes e precisão numérica

JSON não impõe o limite de 53 bits do JavaScript, mas o navegador converte números em números IEEE 754 de precisão dupla. Inteiros maiores que 9.007.199.254.740.991 ou menores que o negativo desse valor podem ser arredondados. A ferramenta identifica tokens inteiros grandes e exibe um alerta.

Os identificadores de bases de dados, números de conta, registos de data e hora em nanossegundos e unidades monetárias exatas devem ser guardados como cadeias de texto, a menos que todos os sistemas usem uma estratégia de precisão arbitrária acordada. A ferramenta não inventa valores BigInt, porque BigInt não é um tipo JSON e JSON.stringify não o serializa diretamente.

  • Maior inteiro seguro: 9007199254740991.
  • Exemplo inseguro: 9007199254740993.
  • Frações decimais também seguem ponto flutuante binário.

Usos comuns e fluxo de trabalho

É útil para ler respostas de API, fragmentos de configuração, registos, conteúdos de webhook e exportações do navegador. A minificação ajuda a criar dados de teste compactos; a validação separa falhas de sintaxe de erros de esquema, permissão ou regras do servidor.

Se uma API rejeitar o documento, valide a sintaxe e depois compare nomes e tipos com o contrato. Para um diff mais limpo, formate os dois documentos com o mesmo recuo. Remova segredos e dados pessoais antes de partilhar capturas, mesmo com processamento local.

  • Rever JSON gerado por scripts.
  • Normalizar dados de teste antes de os integrar no código.
  • Diagnosticar Unicode e estruturas aninhadas.
  • Ler exemplos de API sem extensão do editor.

Erros, limites e não objetivos

Erros comuns incluem vírgulas ausentes ou a mais, cadeias de texto não fechadas, escapes inválidos, parênteses retos incompatíveis e propriedades sem aspas duplas. Documentos muito grandes ou profundos podem consumir memória ou bloquear temporariamente o separador.

Não é validador JSON Schema, motor JSONPath, comparador, JSON canónico nem analisador incremental. Não preserva comentários nem a forma original dos números. Para assinaturas, hashes ou comparação byte a byte, use os bytes originais definidos pelo protocolo.

  • Não use automaticamente a saída formatada como entrada de assinatura.
  • Não valida datas, URLs nem IDs dentro de cadeias de texto.
  • O limite prático depende da memória do dispositivo.

Segurança e privacidade

A implementação usa JSON.parse e JSON.stringify; não usa eval, new Function nem inserção dinâmica de scripts. HTML, JavaScript, SQL ou comandos dentro de cadeias de texto permanecem texto. Esta entrega também não grava a entrada em localStorage, sessionStorage, IndexedDB ou histórico.

O processamento local reduz exposição, mas dados copiados para HTML, SQL, shell ou folha de cálculo ainda exigem as regras de escape do destino. Extensões, gravação de ecrã, gestores de área de transferência e monitorização do dispositivo também devem ser considerados.

  • Remova tokens e dados pessoais antes de partilhar.
  • Formatar não sanitiza HTML nem bloqueia sozinho poluição de protótipo.
  • Use validação de esquema quando a estrutura for uma fronteira de segurança.

Diferenças para ferramentas relacionadas

O conversor JSON/YAML muda a serialização e restringe tipos YAML; este formatador permanece em JSON. JSON/CSV exige arrays de registos e decisões sobre cabeçalhos e aninhamento. Base64 muda a representação de bytes e hash produz um resumo unidirecional.

Use esta página para melhorar a legibilidade e verificar a sintaxe, JSON Schema para definir regras de campos, uma ferramenta de diferenças para comparar e processamento incremental para ficheiros enormes. Uma formatação bem-sucedida não valida todo o contrato de dados.

Perguntas frequentes

JavaScript dentro de uma cadeia de texto JSON é executado?

Não. Apenas as APIs de análise sintática e serialização JSON do navegador são usadas. alert(1), etiquetas HTML ou comandos continuam a ser texto; eval e new Function não são chamados.

Porque é que um inteiro grande válido pode mudar?

Os números JSON são convertidos em números IEEE 754 de precisão dupla. Fora do intervalo seguro, podem ser arredondados durante a análise sintática. A ferramenta alerta; use cadeias de texto ou uma estratégia de precisão arbitrária acordada para valores exatos.

A ferramenta valida JSON Schema?

Não. Verifica sintaxe, não propriedades obrigatórias, enums, formatos ou relações entre campos. Depois da sintaxe, use um validador de esquema específico.

Porque é que a posição pode aparecer depois do erro real?

O analisador sintático informa onde não consegue mais continuar. Uma vírgula ou aspa ausente pode aparecer no token seguinte. Reveja a região e valide novamente após a primeira correção.

Minificar equivale a comprimir a transferência?

Não. Remove espaços, enquanto gzip ou Brotli normalmente reduzem muito mais. Também não encripta nem oculta campos.

O JSON colado é guardado?

Esta implementação processa os dados no separador e não os guarda nem envia intencionalmente. Extensões, histórico da área de transferência e monitorização do dispositivo ficam fora do controlo da página.

Ferramentas relacionadas

Ver todas as ferramentas

Preferências de cookies

Gerir as preferências de cookies. Os cookies necessários não podem ser desativados.

Necessários

Obrigatório

Necessários para seleção de idioma, escolhas de privacidade e funcionalidades básicas do site.

Cookies: NEXT_LOCALE

Análises

Cookies opcionais de análise ajudam a entender o tráfego e melhorar o site.

Cookies: _ga, _gid, _gat, _clck, _clsk

Publicidade

Cookies opcionais de publicidade podem ser usados para mostrar anúncios relevantes e medir desempenho.

Cookies: __gads, _gcl_au, IDE