Код Middle Стандартная библиотека обновлено

Развернуть вложенный JSON в плоские ключи

Условие

Напишите flatten(obj): превратите вложенный словарь в плоский с ключами через точку, элементы списков адресуйте индексом: {"a": {"b": 1}, "c": [10, {"d": 2}]} -> {"a.b": 1, "c.0": 10, "c.1.d": 2}. Пустые словари и списки сохраняйте как значения.

Примеры

flatten({"a":{"b":1},"c":[10,{"d":2}]}) // {"a.b":1,"c.0":10,"c.1.d":2}
flatten({}) // {}
flatten({"x":{}}) // {"x":{}}

Как подойти

Подсказки: 2
  1. Рекурсивная функция с аргументом-префиксом.
  2. Пустой контейнер это лист.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.