Перейти к содержанию

Список в JSON дерево

Преобразуйте отступный или маркированный список в вложенное дерево JSON (или YAML), и наоборот.

Входные данные
Выходные данные

Список в JSON дерево

Вставьте список, структура которого показана через отступы — пробелы, табуляции или маркеры и нумерация — и этот инструмент преобразует его в вложенное дерево JSON или YAML. Он читает контуры, карты сайта, списки папок, организационные диаграммы и любые экспорты из приложений для заметок, где структура находится в отступах, а не в явной разметке. Переключите направление, и инструмент работает и в обратном направлении: вставьте дерево JSON и получите отступный список обратно.

Опции контролируют как чтение входных данных, так и формирование выходных данных. Размер отступа устанавливает, сколько пробелов считается одним уровнем (табуляция всегда считается одним уровнем, независимо от размера отступа). Маркеры и нумерация могут быть проигнорированы — удалены перед тем, как строка станет именем узла — или сохранены как текст. Формат вывода выбирается между объектом с массивом потомков, массивом массивов или картой имен, где элементы каждого уровня становятся ключами объекта; имя ключа потомков применяется только к формату объекта. Разделить имя/значение на разбивает каждую строку на имя и значение по разделителю, такому как ":" — удобно для контуров "ключ: значение" — и тот же разделитель объединяет их при преобразовании обратно.

Отступы, которые не соответствуют установленному размеру отступа — три пробела, где ожидается два — не останавливают преобразование; инструмент присваивает ближайший уровень и отображает количество неровных строк в подсчете ниже выходных данных, так что случайная табуляция или артефакт вставки выделяются. Преобразование дерева обратно в список в настоящее время читает только входные данные JSON, а не YAML.

Все работает локально в вашем браузере — ничего, что вы вставляете, никогда не загружается. Скопируйте результат, загрузите его как файл .txt или отправьте обратно во входные данные, чтобы продолжить корректировку формы.

FAQ

Какие отступы ожидает инструмент?
Любой постоянный шаг пробелов или табуляции — табуляция всегда считается одним уровнем, независимо от установленного вами размера отступа для пробелов. Строки, чьи отступы не кратны установленному размеру отступа, все равно преобразуются, и количество таких строк отображается в подсчете ниже выходных данных.
Могу ли я преобразовать дерево JSON обратно в отступный список?
Да — переключите направление на "Дерево в список". Он читает только входные данные JSON; вставка YAML в то направление возвращает ошибку с просьбой вместо этого использовать JSON.
В чем разница между тремя форматами вывода?
"Объект с потомками" вкладывает каждый элемент как { name, children: [...] }; "Массив массивов" объединяет каждое имя с массивом его потомков; "Карта имен" превращает каждый уровень в ключи объекта, что компактно, но требует уникальных имен — дубликаты получают суффиксы "(2)", "(3)".
Что делает "Разделить имя/значение на"?
Он разбивает каждую строку при первом вхождении символа или строки, которую вы вводите — "ключ: значение" с разделителем двоеточия становится узлом с отдельными полями имени и значения, вместо одного длинного имени.
Мой список загружается куда-нибудь?
Нет. Преобразование работает полностью в вашем браузере — ваш список и полученное дерево никогда не покидают ваше устройство.