Analisar / Pretty Print / Minificar / Validar / Escape / Unescape

Clique na estrela para avaliar
EntradaExemplo
caracteres: 0 | linhas: 1
Saída
ÁrvoreTexto
O resultado formatado aparecerá aqui...
caracteres: 0 | linhas: 0

O que é um formatador de JSON?

Um formatador de JSON adiciona indentação e quebras de linha a um JSON comprimido para que ele se torne legível e editável. Seja uma resposta de API densa, um arquivo de configuração compacto ou um fragmento de JSON nos logs, a formatação torna a estrutura e cada campo imediatamente claros. Após formatar, use nossa Ferramenta de Compressão JSON para remover os espaços; combine-a com a Ferramenta de Teste HTTP para enviar requisições e com o Conversor de Timestamp para ler timestamps Unix dentro dos campos. Você também pode imprimir com formatação localmente com json.dumps(indent=2) do Python ou JSON.stringify(obj, null, 2) do JavaScript, mas esta ferramenta funciona diretamente no navegador, sem configuração.

Casos de uso comuns

Depuração de API: as respostas JSON do backend geralmente são minificadas em uma única linha. Cole-as aqui para revelar a estrutura e os valores e, em seguida, use a Ferramenta de Teste HTTP para rastrear problemas mais rapidamente. Edição de configuração: formate package.json, tsconfig.json e arquivos semelhantes antes de editá-los para evitar vírgulas ausentes ou colchetes não fechados. Análise de logs: formate fragmentos JSON dos logs para localizar rapidamente campos anômalos e mensagens de erro. Migração de dados: exporte JSON de um banco de dados NoSQL, valide a integridade dos campos aqui e depois compacte-o com a Ferramenta de Compressão JSON antes de importá-lo para o sistema de destino.

Como usar esta ferramenta

Cole seu JSON na caixa de entrada à esquerda, escolha indentação de 2 ou 4 espaços e clique em Formatar para imprimir com formatação. Clique em Minificar para remover todos os espaços em branco e produzir um JSON de uma única linha. Alterne para a visualização em árvore para explorar estruturas aninhadas com controles de expansão/recolhimento. Você pode copiar o resultado para a área de transferência ou baixá-lo como um arquivo .json. Se a entrada não for um JSON válido, a ferramenta destaca a linha e a coluna exatas para que você possa corrigir rapidamente.

Dicas e técnicas de conversão

Como converter JSON para TypeScript / Java / Go?

Ao integrar APIs, mapear uma resposta JSON para definições de tipo economiza tempo. Primeiro formate e valide o JSON aqui para não levar estruturas inválidas para seus tipos. Em seguida, mapeie os campos: o TypeScript usa string, number, boolean, objetos aninhados viram interface e arrays usam o tipo do elemento; o Java mapeia para campos POJO; o Go mapeia para campos struct, lembrando de exportar os campos com a primeira letra maiúscula. Dois erros comuns: inteiros com mais de 16 dígitos excedem o intervalo seguro de inteiros do JavaScript, então digite-os como string ou bigint; e campos opcionais da API devem ser marcados como opcionais (?).

Como converter JSON para XML / YAML / CSV?

Esses formatos têm capacidades diferentes, então verifique a compatibilidade estrutural antes de converter:

  • JSON → XML: mapeie pares chave-valor para tags e arrays para tags repetidas; escape <, & e > como entidades XML.
  • JSON → YAML: o YAML 1.2 é um superconjunto do JSON, então a maioria dos analisadores pode ler JSON diretamente; ao converter no sentido inverso, lembre-se de que o YAML é sensível à indentação.
  • JSON → CSV: isso funciona apenas para um array plano de objetos, onde as chaves viram cabeçalhos; objetos aninhados devem ser achatados primeiro (por exemplo, {"a":{"b":1}} vira a coluna a.b).
  • Valide antes e depois: confirme que o JSON é válido aqui e valide o formato de destino após a conversão para evitar perder escapes ou precisão numérica.

Como ordenar as chaves JSON?

Chaves ordenadas deixam os exemplos da documentação de API organizados e os diffs entre respostas mais claros. Em JavaScript, uma ordenação recursiva de uma linha é: const sortKeys = o => Array.isArray(o) ? o.map(sortKeys) : Object.fromEntries(Object.keys(o).sort().map(k => [k, sortKeys(o[k])])). Observe que o padrão JSON (RFC 8259) não garante a ordem das chaves; analisadores modernos de JS e Python 3.7+ preservam a ordem de inserção como um detalhe de implementação. A ordenação serve apenas para legibilidade e comparação; não dependa dela na lógica de negócios.

Por que números longos terminam em 0 após formatar?

A maioria dos formatadores JSON online, inclusive este, depende de JSON.parse, que analisa números como flutuantes de dupla precisão IEEE 754. O limite de inteiros seguros é 253-1 (16 dígitos, 9007199254740991). Números com 17 ou mais dígitos (IDs de pedido, IDs Snowflake, IDs de usuário de plataformas sociais) podem perder precisão silenciosamente e terminar em 0. Teste: cole {"id":12345678901234567890} e formate. A solução recomendada é serializar IDs longos como strings na camada de transporte (por exemplo, anotações de serialização de strings em Java ou a biblioteca json-bigint em JS), ou usar um analisador sem perdas que preserve o texto original. Passar IDs longos como strings é o padrão da indústria.

Erros de sintaxe JSON comuns

Se a formatação falhar, você provavelmente está encontrando um destes problemas comuns. Esta ferramenta informa a linha e a coluna exatas para que você possa corrigir rapidamente:

  • Chaves sem aspas: {name: "x"} deve ser {"name": "x"}: chaves JSON devem ser strings entre aspas duplas.
  • Aspas simples: strings JSON usam apenas aspas duplas; altere 'hello' para "hello".
  • Vírgulas finais: o último item não deve ser seguido de vírgula, então [1, 2,] é inválido.
  • Comentários: o JSON padrão não suporta // nem /* */; esta ferramenta pode remover comentários antes de formatar.
  • Caixa de boolean/null: use minúsculas true, false e null.

E se os caracteres chineses aparecerem como \uXXXX?

Ao colar JSON, os caracteres chineses podem aparecer como sequências \uXXXX (por exemplo, \u7b80\u7f8e para 简美). Não é corrupção: é um escape Unicode que usa \u seguido de quatro dígitos hexadecimais. Geralmente acontece porque a API forçou uma saída segura ASCII ou porque a string foi serializada dessa forma.

Para restaurar o texto legível, cole o texto nesta ferramenta e clique em Formatar. A implementação padrão de JSON.parse converte automaticamente \uXXXX de volta para os caracteres originais. Se precisar do contrário (converter texto legível em escapes \u para sistemas legados), esta ferramenta também oferece suporte a escapes. Exemplos:

  • {"name":"\u7b80\u7f8e\u5de5\u5177"} é formatado para {"name":"简美工具"}.
  • Se você vir uma longa sequência de caracteres \u, provavelmente está com escape duplo; formate camada por camada.
  • Ao depurar chinês "corrompido", confirme primeiro se é escape Unicode (\uXXXX) ou um problema de codificação real, como UTF-8 interpretado como GBK.

Navegadores modernos e a maioria das linguagens (incluindo JSON.stringify do JavaScript) mantêm os caracteres chineses como estão por padrão e só os escapam para \u quando a segurança ASCII é exigida. Esta ferramenta exibe ambas as formas para que você possa corresponder à especificação de interface necessária.

Perguntas frequentes

A formatação altera meus dados?

Não. A formatação JSON apenas ajusta a indentação, as quebras de linha e os espaços em branco. Não altera nenhuma chave, valor ou estrutura de dados, então o significado semântico permanece idêntico antes e depois da formatação.

Este formatador JSON é seguro? Meus dados vão vazar?

Sim, é seguro. Toda a formatação, compactação e validação é executada inteiramente no seu navegador. Seus dados nunca são enviados a nenhum servidor.

Qual a diferença entre formatar e minificar?

Formatar adiciona indentação e quebras de linha para tornar o JSON legível. Minificar remove todos os espaços em branco e quebras de linha para produzir uma única linha compacta, reduzindo o tamanho do arquivo para transmissão. Esta ferramenta suporta ambos: basta alternar a indentação ou clicar no botão Minificar.

Quais erros o validador detecta?

Erros comuns incluem colchetes ou aspas não fechados, vírgulas ausentes ou extras, chaves sem aspas, comentários (não permitidos no JSON padrão) e vírgulas finais. A ferramenta indica a linha e a coluna exatas para ajudar você a corrigir o problema rapidamente.

Qual a diferença entre a visualização em árvore e em texto?

A visualização em árvore exibe o JSON como nós recolhíveis, ideal para navegar rapidamente por dados aninhados complexos. A visualização em texto mostra o texto formatado bruto, melhor para copiar ou comparar linha a linha. Você pode alternar entre elas a qualquer momento, e a árvore suporta recolher/expandir com um clique.

Como a formatação JSON difere da formatação XML?

O JSON usa chaves e colchetes para expressar a hierarquia, enquanto o XML usa tags aninhadas. O JSON é mais compacto e eficiente de transmitir, tornando-se o formato padrão das APIs web modernas. Esta ferramenta foca na formatação e validação JSON, incluindo remoção de comentários e tratamento de escapes, e também pode minificar o JSON em um formato compacto de uma única linha.

O que fazer se um arquivo JSON grande travar?

Se o arquivo JSON for maior que 1 MB, verifique se contém espaços em branco ou comentários desnecessários. JSON abaixo de 500 KB geralmente é formatado instantaneamente no navegador. Você pode melhorar a velocidade compactando primeiro e depois formatando. Para exportações muito grandes, como despejos de banco de dados, divida a entrada ou pré-process com a ferramenta de linha de comando jq.

Qual a diferença entre arrays e objetos JSON e como formatá-los?

Objetos JSON usam chaves {} para conter pares chave-valor onde cada chave deve ser uma string entre aspas duplas. Arrays JSON usam colchetes [] para conter uma lista ordenada de valores que podem ser strings, números, booleanos, objetos ou arrays. Esta ferramenta formata tanto objetos quanto arrays, suporta expansão em árvore e exibe cada elemento do array em sua própria linha para fácil verificação.

Como restaurar caracteres chineses de escapes \uXXXX?

Essa é uma sequência de escape Unicode. Por exemplo, "\u7b80\u7f8e" é 简美. Não é texto corrompido: é o caractere chinês codificado como \u mais quatro dígitos hex. Esta ferramenta o analisa com JSON.parse padrão e restaura o chinês original automaticamente. Se você só vê uma longa sequência de caracteres \u, pode estar com escape duplo; cole aqui e formate camada por camada.

Os caracteres chineses ficarão corrompidos após formatar? Preciso escapá-los?

Não ficarão corrompidos e você não precisa escapá-los manualmente. Navegadores modernos e a maioria das linguagens, incluindo JSON.stringify do JavaScript, mantêm os caracteres chineses como estão por padrão e não os forçam em escapes \uXXXX. Escape-os apenas quando o sistema receptor exigir explicitamente saída ASCII-segura. Esta ferramenta permite ver ambas as formas para corresponder à especificação necessária.

Como encontro um campo em um arquivo JSON de dezenas de milhares de linhas?

Use duas abordagens juntas: primeiro recolha camadas na visualização em árvore para reduzir o escopo, ou use Ctrl+F na visualização em texto para encontrar o nome do campo. Depois de conhecer o caminho, construa uma expressão JSONPath como $.store.book[0].title e use uma biblioteca JSONPath no seu código ou console do navegador para extrair o valor. Formatar primeiro é fortemente recomendado, pois encontrar campos em um JSON compacto de uma única linha é quase impossível.

O JSON pode ser convertido para Excel ou SQL?

Um array de objetos é ideal para CSV ou Excel, onde as chaves viram cabeçalhos de coluna e cada objeto vira uma linha. Converter para SQL geralmente significa gerar instruções CREATE TABLE ou INSERT a partir do JSON, o que requer achatamento prévio de estruturas aninhadas. Seja qual for a conversão, formate e valide o JSON aqui primeiro e confirme os tipos de campo para evitar importar dados sujos.