2016-04-05 13 views
1

, wie verschachtelte JSON-Objekt in Array geschoben werden. Dies ist ein Beispiel für ein json-Objekt. Angenommen, ich habe 100 GROUP.Schieben Sie verschachteltes Objekt in Array

data="result": { 
    "GROUP_A": { 
     "statistics": { 
      "year2000": 8666, 
      "year2001": 1213, 
      "year2002": 123, 
     }, 
     "trending": { 
      "year2000": 90, 
      "year2001": 78, 
      "year2002": 86, 
     } 
    } 
    "GROUP_B": { 
     "statistics": { 
      "year2000": 43223, 
      "year2001": 4234, 
      "year2002": 124343, 
     }, 
     "trending": { 
      "year2000": 34, 
      "year2001": 43, 
      "year2002": 45, 
     } 
    } 
} 

Beispiel Ausgabe unter:

"result": [{ 
    "GROUP_A": [{ 
     "statistics": { 
      "year2000": 8666, 
      "year2001": 1213, 
      "year2002": 123, 
     }, 
     "trending": { 
      "year2000": 90, 
      "year2001": 78, 
      "year2002": 86, 
     } 
    }] 
    "GROUP_B": [{ 
     "statistics": { 
      "year2000": 43223, 
      "year2001": 4234, 
      "year2002": 124343, 
     }, 
     "trending": { 
      "year2000": 34, 
      "year2001": 43, 
      "year2002": 45, 
     } 
    }] 
}] 

Ich habe keine Ahnung zu tun. Wenn einfaches Objekt kann ich so drücken:

var arr=[]; 

arr.push (Daten);

Grund, in Array zu schieben, weil das Schlüsselobjekt für Gruppe dynamisch ist. Ich möchte eine Gruppe zum Filtern von Daten verwenden.

Antwort

1

Ich habe diese zwei verschiedene Möglichkeiten:

  1. ein Array von Objekten erstellen, die gemeinsam ist

    var array = []; 
    
    // ARRAY OF OBJECTS 
    for(i in data) { 
        // Create new array above and push every object in 
        array.push(data[i]); 
    } 
    console.log(JSON.stringify(array)); 
    
  2. Die Art und Weise Sie wollten (Objekt mit Array, das Arrays hat Objekte hat)

    // OBJECT OF ARRAYS OF ARRAYS 
    var result = data["result"]; 
    // Create head of object, "result" 
    var obj = {"result":[]}; 
    var smallObj = {}; 
    // Push objects inside array 
    for(i in result) { 
        var smallArray = []; 
        smallArray.push(result[i]); 
        // Store that array onto array og objects, which in this case is array of arrays of objects 
        smallObj[i] = smallArray; 
    } 
    // Final result 
    obj["result"].push(smallObj); 
    console.log(JSON.stringify(obj)); 
    

Hier ist der JSFiddle, so dass Sie die in der Konsole gedruckte Version sehen können: https://jsfiddle.net/0Loh0ucm/

Verwandte Themen