Formatadores e Validadores

Ferramentas para formatar, validar e comparar dados estruturados. Todo o processamento acontece no seu navegador, então seus dados nunca são enviados.

Escolha a ferramenta de formatação

Use o formatador JSON para indentar, minificar e explorar um payload; a ferramenta de comparação quando duas respostas deveriam ser idênticas e não são; e a de stringify quando um documento precisa ser embutido em outro como string.

Use o validador YAML para arquivos de configuração, em que as falhas interessantes são indentação e tipagem implícita, e não sintaxe, e o formatador XML para documentos e payloads SOAP, em que conteúdo misto faz do espaço em branco parte dos dados.

Parsers de verdade, não expressões regulares

Toda ferramenta desta categoria analisa o documento corretamente antes de imprimir qualquer coisa, e é isso que permite apontar a linha e a coluna em que a entrada deixou de ser válida, em vez de informar que algo, em algum lugar, está errado. É também por isso que um documento que formata sem erro aqui vai carregar no parser da sua linguagem.

A contrapartida é o rigor. Esses parsers seguem as especificações, e não o comportamento tolerante que algumas bibliotecas acrescentam, então uma vírgula final, um tab usado para indentar ou um e comercial sem escape é erro aqui mesmo onde uma ferramenta específica da sua stack teria aceitado.

Formatar reescreve bytes, não significado - com exceções

Indentar um documento significa analisá-lo e escrevê-lo de novo, e algumas coisas são normalizadas nesse caminho. Em JSON, chaves duplicadas se fundem e inteiros muito grandes perdem precisão. Em YAML, âncoras são resolvidas e comentários desaparecem na conversão. Em XML, a ordem dos atributos e os comentários sobrevivem, mas o espaço dentro de conteúdo misto é dado e é deixado intacto de propósito.

Nada disso importa para ler um payload num depurador. Importa muito se a saída formatada é o que você vai commitar; então, quando um documento é a fonte da verdade, formate uma cópia e compare com o original antes de substituir qualquer coisa.

Qual formato pertence a qual lugar

JSON é o padrão de intercâmbio: sem comentários, sem ambiguidade de tipos, parsers em toda parte. YAML ganha seu espaço em configuração, em que comentários e reaproveitamento importam e uma pessoa edita o arquivo à mão. XML persiste onde schemas, namespaces e assinaturas fazem parte do contrato, o que cobre boa parte da integração corporativa e governamental.

Converter entre eles raramente sai de graça. JSON não ganha nada com as âncoras do YAML e perde os comentários; atributos XML não têm equivalente óbvio em JSON, e cada conversor inventa a própria convenção. Converta quando um sistema do outro lado exigir, não para deixar um arquivo mais arrumado.