Hoppa till innehåll
100% lokalt

Indenterad lista till JSON-träd

Konvertera en indenterad eller numrerad lista till ett kapslat JSON- eller YAML-träd, och vice versa.

Inmatning
Utmatning

Indenterad lista till JSON-träd

Klistra in en lista vars hierarki visas genom indrag — mellanslag, tabbar eller kulor och numrering — och det här verktyget omvandlar det till ett kapslat JSON- eller YAML-träd. Det läser outlines, webbplatskartor, mapplatser, organisationsscheman och alla anteckningsapp-exporter där strukturen finns i indraget snarare än i explicit formatering. Vänd på riktningsväxeln och det fungerar åt andra hållet också: klistra in ett JSON-träd och få en indenterad lista tillbaka.

Alternativen styr både hur inmatningen läses och hur utmatningen formas. Indragsbredd anger hur många blanksteg som räknas som en nivå (en flik räknas alltid som en nivå, oavsett indragsbredden). Kulor och numrering kan ignoreras — removerats innan en rad blir ett nodnamn — eller behållas som text. Utgavform väljer mellan ett objekt med en underordnad array, en array av arrays eller en namnkarta där varje nivås objekt blir objektnycklar; nyckeln för underordnade element gäller endast för objektformen. "Dela namn/värde vid" delar varje rad vid en avgränsare som ":" — praktiskt för "nyckel: värde"-outlines — och samma avgränsare förenar dem igen vid konvertering tillbaka.

Indrag som inte överensstämmer med den konfigurerade indragsbredden — tre mellanslag där två förväntades — stoppar inte konverteringen. Verktyget tilldelar den närmaste nivån och rapporterar hur många rader som var ojämna i räkningen under utmatningen, så ett vilsefarit flik eller klistringsartefakt står ut. Konvertering av ett träd tillbaka till en lista läser för närvarande endast JSON-inmatning, inte YAML.

Allt körs lokalt i din webbläsare — ingenting som du klistrar in ladds någonsin upp. Kopiera resultatet, ladda ned det som en .txt-fil eller skicka det direkt tillbaka till inmatningen för att fortsätta justera formen.

FAQ

Vilken indraget förväntar verktyget?
En konsekvent steg av blanksteg eller tabbar — en flik räknas alltid som en nivå, oavsett den indragsbredd du ställer in för blanksteg. Rader vars indragt inte är en ren multipel av den konfigurerade indragsbredden konverteras ändå, och antalet av dessa rader visas i räkningen under utmatningen.
Kan jag konvertera ett JSON-träd tillbaka till en indenterad lista?
Ja — ändra Riktning till "Träd till lista". Det läser endast JSON-inmatning; om du klistrar in YAML i den riktningen returnerar du ett fel som ber om JSON i stället.
Vad är skillnaden mellan de tre utgavformerna?
"Objekt med underordnade element" kapslar in varje objekt som { name, children: [...] }; "Array av arrays" parar varje namn med en array av dess underordnade element; "Namnkarta" förvandlar varje nivå till objektnycklar, vilket är kompakt men kräver unika namn — dubbletter får ett "(2)", "(3)"-suffix.
Vad gör "Dela namn/värde vid"?
Det delar varje rad vid den första förekomsten av tecknet eller strängen du anger — "nyckel: värde" med en kolondel blir en nod med separata namn- och värdefält, i stället för ett långt namn.
Laddas min lista upp någonstans?
Nej. Konverteringen sker helt i din webbläsare — din lista och det resulterande trädet lämnar aldrig din enhet.