Przejdź do treści
100% lokalnie

Zagnieżdżona lista do drzewa JSON

Zmień zagnieżdżoną lub ponumerowaną listę na zagnieżdżone drzewo JSON (lub YAML) i z powrotem.

Wejście

Zagnieżdżona lista do drzewa JSON

Wklej listę, której hierarchia jest widoczna z wcięcia — spacje, tabulatory lub punktory z numeracją — i to narzędzie zamieni ją na zagnieżdżone drzewo JSON lub YAML. Pracuje z konturami, mapami witryn, listami katalogów, schematami organizacyjnymi i każdym eksportem z aplikacji notatek, gdzie struktura ukrywa się w wcięciu zamiast jawnego znacznika. Przełącz kierunek na odwrót i działa na odwrót: wklej drzewo JSON i odzyskaj zagnieżdżoną listę.

Opcje określają, jak wejście jest odczytywane i jak wyjście jest kształtowane. Rozmiar wcięcia ustawia, ile spacji liczy się jako jeden poziom (tabulator zawsze liczy się jako jeden poziom, niezależnie od rozmiaru wcięcia). Punktory i numeracja mogą być ignorowane — usunięte, zanim wiersz stanie się nazwą elementu — lub zachowane jako tekst. Kształt wyjścia wybiera spośród obiektu z tablicą dzieci, tablicą tablic lub mapą nazw, gdzie elementy każdego poziomu stają się kluczami obiektu; nazwa klucza dla dzieci dotyczy tylko kształtu obiektu. Podzielenie nazwy i wartości na ogranicznik, taki jak ":" — przydatne do kontury "klucz: wartość" — i ten sam ogranicznik łączy je z powrotem podczas konwersji.

Wcięcie, które nie odpowiada ustawionemu rozmiarowi — trzy spacje tam, gdzie oczekiwane są dwie — nie zatrzymuje konwersji; narzędzie przypisuje najbliższy poziom i w sumie poniżej wyjścia wyświetla liczbę nierównych wierszy, tak że nawet samotny tabulator lub artefakt wklejania wyróżnia się. Konwersja drzewa z powrotem na listę aktualnie czyta tylko wejście JSON, a nie YAML.

Wszystko działa lokalnie w przeglądarce — nic, co wklejasz, nigdy nie zostanie przesłane. Skopiuj wynik, pobierz go jako plik .txt lub wyślij go bezpośrednio z powrotem do wejścia, aby kontynuować zmianę kształtu.

Częste pytania

Jakie wcięcie narzędzie oczekuje?
Każdy konsekwentny krok spacji lub tabulatorów — tabulator zawsze liczy się jako jeden poziom, niezależnie od rozmiaru wcięcia, który ustawiłeś dla spacji. Wiersze, których wcięcie nie jest czystą wielokrotnością ustawionego rozmiaru wcięcia, są nadal konwertowane i liczba tych wierszy pojawia się w sumie poniżej wyjścia.
Czy mogę konwertować drzewo JSON z powrotem na zagnieżdżoną listę?
Tak — przełącz kierunek na "Drzewo na listę". Czyta tylko wejście JSON; wklejenie YAML w tym kierunku zwraca błąd żądający JSON.
Jaka jest różnica między trzema kształtami wyjścia?
"Obiekt z dziećmi" zagnieżdża każdy element jako { name, children: [...] }; "Tablica tablic" łączy każdą nazwę z tablicą jej dzieci; "Mapa nazw" zamienia każdy poziom na klucze obiektu, co jest kompaktne, ale wymaga unikatowych nazw — duplikaty otrzymają sufiks "(2)", "(3)".
Co robi "Podziel nazwę/wartość na"?
Dzieli każdy wiersz przy pierwszym występowaniu znaku lub ciągu, który wprowadzisz — "klucz: wartość" z ogranicznikiem dwukropka staje się elementem z oddzielnym polem nazwy i wartości zamiast jednej długiej nazwy.
Czy moja lista jest przesyłana gdziekolwiek?
Nie. Konwersja odbywa się wyłącznie w przeglądarce — twoja lista i wynikowe drzewo nigdy nie opuszczą twojego urządzenia.