2013-01-16 6 views
9

Ich habe Probleme, eine json zu einem Modell Parsen.Backbone.js Parse json auf ein Modell Sammlung Attribut

Hier ist die JSON:

[ 
{ 
    "name": "Douglas Crockford", 
    "email": "[email protected]", 
    "_id": "50f5f5d4014e045f000002", 
    "__v": 0, 
    "items": [ 
     { 
      "cena1": "Cena1", 
      "cena2": "Cena2", 
      "cena3": Cena3, 
      "cena4": "Cena4", 
      "cena5": "Cena5", 
      "cena6": Cena6, 
      "_id": "50ee3e782a3d30fe020001" 
     } 
    ] 
} 

]

Und ich brauche ein Modell, um die 'Elemente' haben Attribute wie folgt aus:

cena = new Model({ 
      cena1: "Cena1", 
      cena2: "Cena2", 
      ... 
}); 

Was ich habe versucht:

var cenaCollection = new Backbone.Collection.extend({ 
    model: Cenas, 
    url: '/orders', 

    parse: function (response) { 
     return this.model = response.items; 
    } 

}); 

dann schaffe ich n ew Instanz der Sammlung und holen, aber ich erhalte „response.items“ immer „undefined“: |

Vielen Dank im Voraus!

Antwort

10

Die Funktion parse sollte den Attribut-Hashwert zurückgeben, der im Modell festgelegt werden soll (siehe documentation here). So müssen Sie einfach:

parse: function (response) { 
    return response[0].items; 
} 
+0

genau habe ich versucht, das auch noch „unbestimmt“ bekommen:/ – asirgado

+0

@asirgado Ich habe gerade bemerkt Ihre JSON in einem Array gewickelt zu sein scheint - ist das richtig? Wenn ja müssen Sie stattdessen 'response [0] .items' ...? – McGarnagle

+0

habe gerade versucht, dass und es funktioniert wie ich brauche! Vielen Dank!! Wenn ich mehr 'Elemente' innerhalb des Arrays bekomme, wird es funktionieren? Vielen Dank! – asirgado

Verwandte Themen