Разбор объектов и массивов в данных Json в AngularJs

0

Я пытаюсь построить массив объектов, используя данные, которые я получаю из бэкэнд-сервиса, используя angularjs. Вот как я получаю данные

"mylist": [

   {

    "name": "Test1",
    "moreInfo": {
    "moreInfoText": "More test",
    },

     "companyInfo": {
      "companyNameInfo": "ABC",
      "url": "http://www.google.com",

        }

        },

        {

   "name": "Test2",
   "moreInfo": {
   "moreInfoText": "More test2",
    },

     "companyInfo": {
    "companyNameInfo": "ABC2",
    "url": "http://www.yahoo.com",
        }


        },

        ]

Я хочу разобрать его, чтобы объединить все это в один массив объектов, таких как

[{"name": "Test1", "moreInfoText": "More test","companyNameInfo": "ABC", "url": "http://www.google.com"},{ "name": "Test2", "moreInfoText": "More test2","companyNameInfo": "ABC2", "url": ""}]
  • 0
    То, что у тебя есть, в первую очередь выглядит точно так, как ты хочешь для меня. Я не вижу разницы
  • 0
    Как вы пытаетесь использовать это?
Показать ещё 2 комментария
Теги:

1 ответ

0
Лучший ответ

Попробуй это:

var flatten = function(object) {
    var newObj = {};

    for (var key in object) {
      var item = object[key];
      if (typeof item !== 'object') {
        newObj[key] = item;
      }

      else {
        var flattened = flatten(item);
        for (var k in flattened) {
          newObj[k] = flattened[k];
        }
      }
    }
    return newObj;
};

var newList = [];
myList.forEach(function(object) {
     newList.push(flatten(object);
});
console.log(newList) //this should be what you want
Сообщество Overcoder
Наверх
Меню