Развернуть JSON в карту путей
Плоские значения и типы контейнеров без потери массивов.
Результат
Вставьте данные или выберите пример. После обработки проверьте результат и скачайте файл.
Как пользоваться
Объект {containers, values}: типы контейнеров и конечные значения по JSON Pointer.
- Вставьте любой корректный JSON.
- Создайте карты containers и values.
- Скачайте обе карты одним JSON; для обратной операции используйте восстановление JSON.
Пример
Развернуть JSON в карту путей
{"список":[1],"пусто":{}}Разверните вложенную структуру.
{"containers":{"":"object","/список":"array","/пусто":"object"},"values":{"/список/0":1}}Форматы и ограничения
Просмотрите конечные значения сложного JSON по адресам и подготовьте данные для обратного восстановления. Тип каждого контейнера записывается отдельно, поэтому объект с числовыми ключами не путается с массивом.
- На входе
- JSON UTF-8
- Результат
- JSON
Объект {containers, values}: типы контейнеров и конечные значения по JSON Pointer.
- Каждое поле — до 200 000 символов; импорт одного файла UTF-8 — до 1 МиБ.
- Вложенность JSON — до 64 уровней, дерево — до 30 000 значений, результат — до 1 000 000 символов.
- Повторяющиеся имена ключей и числа с потерей точности отклоняются. Большие числа передавайте строками.
Это собственный обратимый формат сервиса, а не произвольный объект с точками в именах полей. Сохраните обе карты.
Данные обрабатываются только в вашем браузере и не отправляются серверу. Редактор хранит их в памяти: после обновления страницы ввод, настройки и результат сбрасываются.
Данные обрабатываются только в вашем браузере и не отправляются серверу. Редактор хранит их в памяти: после обновления страницы ввод, настройки и результат сбрасываются. Это собственный обратимый формат сервиса, а не произвольный объект с точками в именах полей. Сохраните обе карты. Каждое поле — до 200 000 символов; импорт одного файла UTF-8 — до 1 МиБ. Вложенность JSON — до 64 уровней, дерево — до 30 000 значений, результат — до 1 000 000 символов. Повторяющиеся имена ключей и числа с потерей точности отклоняются. Большие числа передавайте строками.
Вопросы об инструменте
Зачем нужна карта containers?
Путь /0 может быть элементом массива или полем объекта. Явные типы контейнеров устраняют эту неоднозначность и сохраняют пустые массивы и объекты.
Что обозначает пустой путь ""?
Это корень документа. Для объекта или массива его тип попадает в containers; для скалярного корня само значение попадает в values.
Как записываются / и ~ в именах ключей?
JSON Pointer экранирует / как ~1, а ~ как ~0. Например, ключ a/b~c получает путь /a~1b~0c.
Сохранятся ли пустые объекты внутри массива?
Да. Для каждого такого пути будет запись object в containers, даже если конечных значений под ним нет.
Можно ли использовать разделитель точку?
Здесь выбран только JSON Pointer. Точки в исходных именах сохраняются как обычные символы и не разделяют уровни.
Можно ли восстановить исходную структуру?
Да, передайте весь результат в инструмент восстановления JSON. Значения и типы контейнеров сохраняются; пробелы исходного форматирования не сохраняются.