Formatador JSON
Formate e valide seus dados JSON para facilitar a leitura e depuração. Suporta minificação, embelezamento e realce de sintaxe.
Como Usar o Formatador JSON
Passos para Usar
- Cole seus dados JSON na caixa de entrada à esquerda.
- Clique no botão "Formatar" para formatar os dados JSON em uma forma legível.
- Clique no botão "Minificar" para compactar os dados JSON em uma única linha.
- Clique no botão "Correção Automática" para corrigir automaticamente erros comuns de sintaxe JSON.
- Clique no botão "Copiar" para copiar o resultado para a área de transferência.
- Clique no botão "Limpar" para limpar as áreas de entrada e saída.
- Use a opção "Escapar Saída" para escapar a saída para incorporação no código do programa.
- Use a opção "Modo Escuro" para alternar o tema de exibição.
Exemplo de Saída Escapada
Quando a saída escapada está ativada, as strings JSON são escapadas para incorporação direta no código do programa. Por exemplo:
Saída Normal::
{
"message": "Hello \"World\"",
"newline": "Line 1\nLine 2"
}
Saída Escapada::
{\n \"message\": \"Hello \\\"World\\\"\",\n \"newline\": \"Line 1\\nLine 2\"\n}
Recursos
- Formatação Automática: Embeleze seus dados JSON com indentação e quebras de linha adequadas.
- Validação de Sintaxe: Verifique erros de sintaxe em seus dados JSON e forneça mensagens de erro.
- Realce de Sintaxe: Marque pares chave-valor JSON e tipos de dados com cores diferentes.
- Função Minificar: Converta JSON formatado em uma forma compacta de linha única para reduzir o tamanho dos dados.
- Correção Automática: Corrija automaticamente erros comuns de sintaxe JSON, como chaves sem aspas e vírgulas extras.
- Escapar Saída: Escape strings JSON para incorporação direta no código do programa.
- Processamento Local: Todo o processamento de dados é feito no seu navegador, nada é enviado para servidores.
- Processamento em Tempo Real: As alterações na entrada são processadas automaticamente e os resultados são atualizados.
O que é JSON?
JSON (JavaScript Object Notation) é um formato leve de intercâmbio de dados que é fácil para humanos lerem e escreverem, e fácil para máquinas analisarem e gerarem. JSON é baseado em um subconjunto da linguagem JavaScript, mas é um formato de texto completamente independente de linguagem, suportado pela maioria das linguagens de programação para análise e geração. JSON foi proposto por Douglas Crockford no início dos anos 2000 e foi padronizado em ECMA-404 e RFC 8259.
Regras de Sintaxe JSON
- Dados são representados como pares chave/valor
- Dados são separados por vírgulas
- Chaves {} contêm objetos
- Colchetes [] contêm arrays
- Chaves devem ser strings entre aspas duplas
- Valores podem ser strings, números, objetos, arrays, booleanos ou null
Tipos de Dados JSON
| Tipo | Descrição | Exemplo |
|---|---|---|
| String | Sequência de caracteres Unicode entre aspas duplas | "Hello World" |
| Número | Número inteiro ou de ponto flutuante, valores não numéricos não são suportados | 42, 3.14 |
| Objeto | Coleção não ordenada de pares chave/valor | {"name": "John"} |
| Array | Coleção ordenada de valores | [1, 2, 3] |
| Booleano | true ou false | true |
| null | Valor vazio | null |
Algoritmo de Formatação JSON
O processo de formatação JSON envolve principalmente duas etapas: análise e regeneração. Primeiro, o analisador lê a string JSON e constrói uma representação na memória, depois o formatador regenera a string com indentação e quebras de linha específicas. Aqui está um processo de formatação simplificado:
// Simplified JSON formatting implementation
function formatJSON(jsonStr, indentSize = 2) {
try {
// Step 1: Parse JSON string to JavaScript object
const obj = JSON.parse(jsonStr);
// Step 2: Convert object back to string with indentation
return JSON.stringify(obj, null, indentSize);
} catch (e) {
// Handle invalid JSON
throw new Error("Invalid JSON: " + e.message);
}
}
// Usage example
const uglyJson = '{"name":"John","age":30,"city":"New York"}';
const prettyJson = formatJSON(uglyJson);
console.log(prettyJson);
/*
Output:
{
"name": "John",
"age": 30,
"city": "New York"
}
*/
Comparação entre JSON e XML
| Recurso | JSON | XML |
|---|---|---|
| Sintaxe | Concisa, usando chaves e colchetes | Mais complexa, usando tags e atributos |
| Tamanho do Arquivo | Geralmente menor que XML | Geralmente maior que JSON |
| Velocidade de Análise | Mais rápida | Mais lenta |
| Tipos de Dados | Suporta tipos de dados básicos | Todos os dados são texto |
| Namespaces | Não suportado | Suportado |
| Comentários | Não suportado | Suportado |
| Usabilidade | Mais amigável para desenvolvedores | Mais estruturado e rigoroso |
Problemas Comuns e Soluções
Problema: Erro de análise JSON - vírgula ou colchete ausente
Solução: Verifique todos os colchetes de fechamento de objetos e arrays, certifique-se de que cada par chave/valor seja seguido por uma vírgula (exceto o último).
Problema: Erro de análise JSON - valor de chave inválido
Solução: Certifique-se de que todas as chaves estejam entre aspas duplas, aspas simples ou nomes de chaves sem aspas não são suportados.
Problema: Problema de tamanho de dados JSON
Solução: Para dados JSON grandes, considere usar a versão compactada para transmissão e depois formatá-la para exibição no cliente.
Para mais informações oficiais sobre JSON, consulte os seguintes recursos: JSON.org | RFC 8259 | Wikipedia: JSON
Ferramentas Relacionadas
Conversor JSON YAML
Converta entre formatos JSON e YAML com indentação personalizada e suporte a estilo flow/block
Conversor JSON CSV
Converta entre formatos JSON e CSV com achatamento de objetos aninhados e suporte a delimitador personalizado
Formatador XML
Formate e valide dados XML com destaque de sintaxe