2016-08-18 1 views
0

J'essaye de construire un tableau d'objets en utilisant les données que je reçois du service backend en utilisant angularjs. Voici comment je reçois les donnéesParse Objects and Arrays dans JSON data dans 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", 
     } 


     }, 

     ] 

Je veux analyser si je peux combiner en un seul tableau d'objets comme

[{"name": "Test1", "moreInfoText": "More test","companyNameInfo": "ABC", "url": "http://www.google.com"},{ "name": "Test2", "moreInfoText": "More test2","companyNameInfo": "ABC2", "url": ""}] 
+0

Qu'est-ce que vous avez en premier lieu ressemble exactement à ce que vous voulez pour moi. Je ne vois pas de différence – csschapker

+0

Comment essayez-vous de l'utiliser? – csschapker

+0

L'original a des objets dans les objets. Je les veux tous dans un seul objet. – bumblebee

Répondre

0

Essayez ceci:

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 
+0

Ici c'est sur Plnkr http://plnkr.co/edit/gOsdBMWxBcqr4kj9rD2U?p=preview – csschapker