Desminificar JSON online
Cole uma resposta de API, um ficheiro de configuração ou uma linha de registo e leia-os com clareza. Os objetos e as matrizes são indentados por profundidade, com uma chave por linha e realce de sintaxe no resultado.
Porque é que o JSON chega compactado
JSON é a linguagem habitual das API, e as API são otimizadas para poupar bytes, não para facilitar a leitura. Uma resposta de um ponto de acesso REST ou de um servidor GraphQL é serializada sem um único espaço, o que é ideal para a rede e péssimo para quem a lê. O mesmo se aplica a ficheiros de configuração registados por ferramentas, a linhas de registo estruturadas, a blocos JSON-LD incorporados numa página e a qualquer conteúdo copiado do separador de rede das ferramentas de desenvolvimento.
A formatação torna a estrutura evidente
JSON indentado responde imediatamente a questões de estrutura. Quantos níveis tem este objeto? Aquele campo é uma matriz de objetos ou um objeto de matrizes? Que chave tem o valor null quando se esperava outro valor? Onde termina um registo e começa o seguinte? Procurar uma chave em falta ou mal escrita em dados formatados demora segundos, enquanto fazer o mesmo numa só linha costuma levar à desistência e à criação de um script. Uma revisão prática começa com um identificador de registo conhecido. Encontre esse valor, analise o objeto que o contém e compare as chaves relevantes com o contrato esperado pela aplicação. Distinga uma chave ausente de um valor null explícito ou de uma matriz vazia, pois as aplicações costumam tratá-los de forma diferente. A formatação facilita a observação dessas diferenças, mas não verifica regras de negócio, não deteta todos os problemas de chaves duplicadas nem confirma um contrato de API. Utilize testes da aplicação e validação de esquemas para essas verificações depois de identificar a parte suspeita dos dados.
O JSON inválido é detetado de imediato
Como o conteúdo tem de ser analisado antes de poder ser apresentado, a formatação é também a verificação de validade mais rápida de que dispõe. Uma vírgula final, uma cadeia de caracteres entre aspas simples, uma aspa sem carácter de escape dentro de um valor ou uma resposta truncada interrompem a análise e apresentam um erro em vez de um resultado. É muitas vezes assim que se descobre que a resposta de API que se estava a depurar tinha sido cortada, ou que um ficheiro de configuração tem uma vírgula a mais.
JSON, JSON Lines e JSONP
Esta página formata um único documento JSON. Se o seu conteúdo for um ficheiro de registos com um objeto JSON por linha, formate as linhas que lhe interessam em vez do ficheiro inteiro, uma vez que o ficheiro no seu conjunto não é um único documento válido. E se uma resposta começar por um nome de função a envolver os dados, trata-se de JSONP e não de JSON, e é precisamente por isso que a ferramenta deteta por vezes um conteúdo como JavaScript. Nesse caso a deteção está correta, e formatá-lo como JavaScript dá, ainda assim, um resultado perfeitamente legível.
Perguntas frequentes
A ferramenta valida o meu JSON?
Na prática, sim. O documento tem de poder ser analisado antes de ser formatado, pelo que qualquer erro de sintaxe interrompe o processo e é assinalado em vez do resultado. É a forma mais rápida de verificar se um conteúdo está bem formado.
A ordem das chaves é preservada?
O formatador não ordena deliberadamente as chaves dos objetos; o seu objetivo é facilitar a leitura da estrutura fornecida. Guarde o original quando o texto exato for importante, pois a formatação pode alterar a apresentação e a representação. A ordem das chaves, por si só, também não demonstra que os dados correspondem ao esquema esperado pela aplicação.
Posso formatar respostas de API muito grandes?
A memória e a capacidade de processamento disponíveis no navegador determinam o que é viável. Respostas grandes podem tornar o separador lento ou bloqueá-lo durante a formatação e o realce de sintaxe, e não existe um tamanho suportado garantido. Comece por um objeto ou uma matriz completos mais pequenos ao investigar um registo numa resposta extensa.
