100 % local — seus dados nunca saem do seu navegador

Validador JSON — a linha e a coluna a corrigir

Confira se um JSON faz parse, com a linha e a coluna quando não faz. Você vai direto ao caractere que quebrou tudo, em vez de procurar no olho.

Instantâneo Privado Zero cookies

Entrada JSON

Saída Result

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.

Perguntas frequentes

Por que uma chave repetida é aviso aqui e erro no formatador?
Porque as duas ferramentas têm ofícios diferentes. A RFC 8259 diz que os nomes *deveriam* ser únicos — um «deveria» — então um documento que repete um continua sendo JSON válido, e o ofício de um validador é descrever o que vê. Um formatador precisa produzir uma saída, ou seja, escolher qual valor sobrevive, e essa escolha não lhe cabe.
42 é JSON válido?
É. Desde a RFC 7159, qualquer valor JSON é um documento completo: um número, uma string, `true`, `null`. A antiga RFC 4627 exigia um objeto ou um array no topo, e por isso alguns analisadores velhos ainda recusam `42` — bom saber no dia em que um validador disser sim e a sua biblioteca disser não.
Diz válido, mas meu programa recusa o arquivo. Por quê?
Porque válido quer dizer que a sintaxe analisa, não que o conteúdo é o esperado. Um campo obrigatório ausente, um número onde se declarou uma string, uma data no formato errado: nada disso é sintaxe. Verificar isso exige um esquema, ou seja, outra ferramenta e outra pergunta.

Conversores relacionados