O que o relatório diz
Para um documento que analisa: a forma do valor raiz e o tamanho.
✓ Valid JSON
Root: object (4 keys)
Size: 312 characters, 18 lines
Caso contrário: a mensagem do analisador, com a posição traduzida em linha e coluna — uma vez, não duas.
Qualquer valor JSON é um documento
42 é JSON válido. "olá" também, true também, null também.
É assim desde a RFC 7159 (2014); a RFC 4627 original exigia um objeto ou um array no topo. Alguns analisadores antigos ainda aplicam a regra velha, e vale lembrar disso no dia em que um validador disser sim e a sua biblioteca disser não.
Chaves repetidas: um aviso, não um erro
{ "port": 8080, "port": 3000 }
O relatório declara o documento válido e acrescenta uma nota com a posição do segundo port.
É uma diferença deliberada em relação ao formatador JSON, que recusa a mesma entrada. A RFC 8259 diz que os nomes de um objeto deveriam ser únicos — um «deveria», não um «deve» — então o documento é mesmo válido, e um validador descreve o que vê.
Um formatador precisa produzir algo, e produzir significa decidir qual dos dois valores sobrevive. Os analisadores decidem de formas diferentes: a maioria fica com o último, alguns com o primeiro, outros recusam. Essa escolha é sua, não de uma ferramenta: o formatador para, o validador avisa.
O que «válido» não quer dizer
Não quer dizer que o arquivo diga o que você acha.
Um campo obrigatório ausente, uma string onde cabe um número, uma data escrita à americana, uma URL com um erro de digitação: tudo isso analisa perfeitamente. Verificar isso exige um esquema — JSON Schema, e um validador que o leia — ou seja, outra pergunta, diferente da que esta página responde.
Privado por padrão
Tudo é executado localmente no seu navegador com JavaScript. Os seus dados nunca são enviados para um servidor, o que torna a ferramenta segura para conteúdo sensível e funciona offline.