Ir para o conteúdo
Totalmente local

Lista indentada para árvore JSON

Transforme uma lista indentada ou com marcas em uma árvore JSON aninhada (ou YAML), e vice-versa.

Entrada

Lista indentada para árvore JSON

Copie uma lista cuja hierarquia é mostrada através de indentação — espaços, tabulações, marcas ou numeração — e esta ferramenta transforma-a numa árvore JSON ou YAML aninhada. Lê estruturas, mapas de sítios, listagens de pastas, organogramas e qualquer exportação de aplicação de notas onde a estrutura reside na indentação em vez de marcação explícita. Mude o interruptor de direcção e funciona ao contrário também: copie uma árvore JSON e obtenha uma lista indentada.

As opções controlam tanto a forma como a entrada é lida como a forma como a saída é estruturada. O tamanho de indentação define quantos espaços contam como um nível (uma tabulação conta sempre como um nível, independentemente do tamanho da indentação). As marcas e numeração podem ser ignoradas — removidas antes de uma linha se tornar nome do nó — ou mantidas como texto. A forma de saída escolhe entre um objeto com uma matriz de filhos, uma matriz de matrizes, ou um mapa de nomes onde os itens de cada nível se tornam chaves de objeto; o nome da chave filhos aplica-se apenas à forma de objeto. Dividir nome/valor em quebra cada linha num nome e num valor num delimitador como ":" — útil para estruturas "chave: valor" — e o mesmo delimitador reúne-os ao converter novamente.

A indentação que não corresponde ao tamanho de indentação configurado — três espaços onde se esperavam dois — não impede a conversão; a ferramenta atribui o nível mais próximo e relata quantas linhas eram irregulares no tabuleiro abaixo da saída, para que uma tabulação deslocada ou artefato de colagem se destaque. A conversão de uma árvore para lista lê apenas entrada JSON, não YAML.

Tudo funciona localmente no seu navegador — nada que copie é alguma vez carregado. Copie o resultado, descarregue-o como ficheiro .txt, ou envie-o diretamente para a entrada para continuar a ajustar a forma.

FAQ

Que indentação espera a ferramenta?
Qualquer passo consistente de espaços, ou tabulações — uma tabulação conta sempre como um nível, independentemente do tamanho de indentação que defina para espaços. As linhas cuja indentação não é um múltiplo limpo do tamanho de indentação configurado ainda são convertidas, e a contagem dessas linhas aparece no tabuleiro abaixo da saída.
Posso converter uma árvore JSON de volta para lista indentada?
Sim — mude a Direcção para "Árvore para lista". Lê apenas entrada JSON; colar YAML nessa direcção devolve um erro pedindo JSON em vez disso.
Qual é a diferença entre as três formas de saída?
"Objeto com filhos" aninha cada item como { name, children: [...] }; "Matriz de matrizes" emparelha cada nome com uma matriz dos seus filhos; "Mapa de nomes" transforma cada nível em chaves de objeto, que é compacto mas requer nomes únicos — duplicatas obtêm um sufixo "(2)", "(3)".
O que faz "Dividir nome/valor em"?
Divide cada linha na primeira ocorrência do carácter ou string que introduz — "chave: valor" com um delimitador de dois-pontos torna-se um nó com um campo de nome e valor separado, em vez de um nome longo.
A minha lista é carregada algures?
Não. A conversão funciona totalmente no seu navegador — a sua lista e a árvore resultante nunca saem do seu dispositivo.