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