SpiderPigAndCat
@SpiderPigAndCat
занимаюсь салообразованием

Как преобразовать json в массив обьектов?

c firebase приходит этот json
{
    "-M_MGfFRTFvwBsfLf0MT": {
        "cv_data": [{
            "id": 1,
            "text": "sadasdasdas",
            "type": "header"
        }]
    },
    "-M_MK_f6EmSm00btPj4G": {
        "cv_data": [{
            "id": 1,
            "text": "hhhh",
            "type": "text"
        }]
    },
    "-M_MW7WETDpX8S4UqJhW": {
        "cv_data": [{
            "id": 1,
            "text": "sssss",
            "type": "header"
        }]
    },
    "-M_MdjHGo4jyT5HB3LY1": {
        "cv_data": {
            "-M_MGfFRTFvwBsfLf0MT": {
                "cv_data": [{
                    "id": 1,
                    "text": "sadasdasdas",
                    "type": "header"
                }]
            },
            "-M_MK_f6EmSm00btPj4G": {
                "cv_data": [{
                    "id": 1,
                    "text": "hhhh",
                    "type": "text"
                }]
            },
            "-M_MW7WETDpX8S4UqJhW": {
                "cv_data": [{
                    "id": 1,
                    "text": "sssss",
                    "type": "header"
                }]
            }
        }
    }
};

как его преобразовать в примерно такой вид (поместить id буквенный в поле Id у обьекта и созранить остальные данные)
[
 {
     "id":  "-M_MK_f6EmSm00btPj4G",
     "text": "hhhh",
     "type": "text"
 }, 
 {
     "id":  "-M_MW7WETDpX8S4UqJhW",
     "text": "1111",
     "type": "header"
 }, 
]


есть пример с object.keys и .map но я не совсем понимаю как это работает, буду рад обьяснению
пока получается такно не совем так
  • Вопрос задан
  • 232 просмотра
Решения вопроса 1
twobomb
@twobomb
function func(obj){
	let arr = [];
  for(let key in obj)
    if(Array.isArray(obj[key].cv_data)){
    	arr.push(obj[key].cv_data[0]);
      arr[arr.length-1].id = key;
      }
    else
    	arr = arr.concat(func(obj[key].cv_data));
  return arr;
}

let array = func(parseObjectFromFirebase);//result
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы