Regra aplicada
Compara nomes decodificados no mesmo objeto; posições contam unidades UTF-16 a partir de 1.
O problema que JSON.parse pode esconder
Um objeto JSON pode apresentar o mesmo nome de campo duas vezes. O leitor habitual mantém o último valor e perde a evidência do anterior. A análise desta página percorre o texto original para localizar repetições antes que essa perda impeça uma revisão. Ela não presume que o arquivo resultante seja uma campanha válida.
Cole o JSON original, preservando escapes e espaços. Primeiro é exigida sintaxe JSON válida. Depois cada objeto recebe seu próprio conjunto de nomes já vistos; repetir turn em dois objetos diferentes é permitido. Uma repetição no mesmo objeto aparece com caminho JSON Pointer, posição inicial e posição repetida.
Escapes, caminhos e posições
Os nomes são comparados após decodificar escapes JSON. Assim, turn e tu\u0072n identificam a mesma chave. Dentro dos caminhos, uma barra no nome vira ~1 e um til vira ~0, conforme JSON Pointer. Índices de arrays entram como segmentos numéricos para indicar onde fica o objeto analisado.
As posições começam em 1 e usam unidades UTF-16, como os índices de texto de JavaScript. Não são números de bytes UTF-8. Um caractere fora do plano básico pode ocupar duas unidades. O resultado serve para localizar o trecho no texto original, e não para aplicar offsets sobre um arquivo recodificado.
Revisar sem corrigir automaticamente
A ferramenta não decide entre manter o primeiro ou o último valor. Faça uma cópia e confira o contexto de cada repetição antes de editar. Um JSON sem duplicatas ainda pode ter versão errada, UFs ausentes ou recursos fora dos limites; somente quando também passa pelo validador padrão a saída informa essa verificação adicional.
Entradas têm limite de 250 mil caracteres e profundidade máxima de 100 níveis. O botão de leitura do save é explícito; nenhuma campanha é lida ao abrir a página. Não há gravação, restauração ou download de um arquivo supostamente corrigido. JSON inválido interrompe a análise com erro, em vez de mostrar um diagnóstico parcial como completo.
Conferir dois cenários de referência
Cenários controlados para conferir esta regra. Cada resultado é calculado com as entradas explícitas e as demais opções do exemplo inicial.
Backup sem repetição
Entradas alteradas: JSON original para análise lexical = entrada completa de referência descrita no cenário. As demais entradas seguem o exemplo inicial.
0 chaves duplicadas no JSON| Caminho JSON Pointer | Primeira posição | Repetição |
|---|---|---|
| Nenhum registro | — | — |
Em telas pequenas, deslize a tabela para conferir todas as colunas.
Posições começam em 1 e contam unidades UTF-16 do texto original. Chaves escapadas são comparadas após decodificação; cada objeto tem seu escopo. JSON sintaticamente válido; backup padrão também validado. Não escolhe qual valor manter e não corrige o arquivo.
Chaves escapadas iguais
Entradas alteradas: JSON original para análise lexical = entrada completa de referência descrita no cenário. As demais entradas seguem o exemplo inicial.
1 chaves duplicadas no JSON| Caminho JSON Pointer | Primeira posição | Repetição |
|---|---|---|
| /turn | 2 | 11 |
Em telas pequenas, deslize a tabela para conferir todas as colunas.
Posições começam em 1 e contam unidades UTF-16 do texto original. Chaves escapadas são comparadas após decodificação; cada objeto tem seu escopo. JSON sintaticamente válido; esta análise não certifica backup restaurável. Não escolhe qual valor manter e não corrige o arquivo.
Simulação independente: as informações descrevem o jogo ficcional República em Disputa, sem avaliação de pessoas reais ou previsão de uma eleição.
Regras, dados e exemplos conferidos na versão do jogo em 17 de outubro de 2026. Simulação ficcional e independente, sem previsão eleitoral real. Guia Independente · Relatar divergência.