Transformar JSON aninhado em caminhos e valores
Escolha achatar ou reconstruir e cole a entrada correspondente. Revise chaves numéricas e caminhos sobrepostos ao reconstruir os dados.
Funciona localmente no seu navegador
Escolha achatar ou reconstruir e cole a entrada correspondente. Revise chaves numéricas e caminhos sobrepostos ao reconstruir os dados.
Funciona localmente no seu navegador
Cole um documento JSON, escolha Achatar ou Restaurar e clique em Executar. Achatar transforma cada valor final em um caminho como user.profile.roles.0; Restaurar lê um objeto plano de caminhos e reconstrói o documento aninhado. O separador pode ser ponto ou barra, e uma chave que contém o separador é escapada com barra invertida, então user.profile.roles.0 e uma chave literal “a.b” continuam distinguíveis.
Tudo roda na página com JavaScript do navegador, nada é enviado, e o resultado pode ser copiado ou baixado como kivtools-json-flatten.json ou kivtools-json-unflatten.json.
Os valores são copiados sem trocar de tipo: strings continuam strings, números continuam números e null continua null. Chaves que parecem perigosas em JavaScript — __proto__, constructor, prototype — aqui são chaves de dados comuns: a ferramenta cria objetos sem protótipo, então achatar {"__proto__": 1} mantém o caminho “__proto__” e restaurá-lo reconstrói a mesma chave.
Objetos e arrays vazios são mantidos por padrão. Desligue “Manter objetos e arrays vazios” para descartá-los; a métrica então informa quantos contêineres foram descartados — 2 para {"keep":{},"drop":[],"value":1}.
Restaurar reconstrói um array apenas quando um nó tem exatamente as chaves numéricas densas 0…n-1, que é o que um array real deixa ao ser achatado. Caminhos esparsos como 0 e 2, ou um nó que mistura 0, 1 e x, permanecem como chaves de objeto: nenhuma chave é perdida e nenhum buraco null é inventado.
Um caminho que precisa da mesma chave em duas formas é avisado em vez de sobrescrito em silêncio: o objeto plano {"a":1,"a.b":2} responde “O caminho “a.b” conflita com uma chave anterior.”, e a saída anterior é apagada para que um resultado antigo não seja confundido com a nova execução.
Achatar percorre o documento de forma iterativa: um valor aninhado em 20.000 níveis vira um único caminho sem estourar a pilha. Reconstruir um documento assim alcança o limite do escritor JSON do navegador, e a ferramenta mostra sua mensagem localizada de aninhamento excessivo em vez de um erro bruto do motor.
Erros de sintaxe JSON mantêm o detalhe de posição do motor (por exemplo “line 1 column 9”) depois de um prefixo localizado, o que permite corrigir uma colagem malformada. Os downloads se chamam kivtools-json-flatten.json ou kivtools-json-unflatten.json conforme o modo.