2014-07-04 155 views
0

我試圖以一種很好的方式獲取這個模型,但並不真正讓它工作,因爲我想。 該模型每秒由setInterval();獲取。我這樣做是因爲這個後端系統能夠改變模型所持有的json。問題是我不知道如何獲得所有的JSON。骨幹。獲取模型(JSON問題)

現在我只能訪問「0」(問題和ID)並在模型上設置。我希望能夠訪問所有的JSON並在模型上設置。我將如何解析?

我的JSON是這樣的:

{ 
"0": [ 
    { 
     "question": "lorem ispum", 
     "id": "1" 
    } 
], 
"1": [ 
    { 
     "id": "1", 
     "alternative": "lorem ispum", 
     "percent": "14.0000", 
     "total": "7" 
    }, 
    { 
     "id": "2", 
     "alternative": "lorem ispum", 
     "percent": "14.0000", 
     "total": "7" 
    }, 
    { 
     "id": "3", 
     "alternative": "lorem ispum", 
     "percent": "60.0000", 
     "total": "30" 
    }, 
    { 
     "id": "4", 
     "alternative": "lorem ispum", 
     "percent": "12.0000", 
     "total": "6" 
    } 
] 

}

這是我的模型

QuestionModel = Backbone.Model.extend({ 
id: "", 
url: function() { 
    return "api/?action=getQuestionData&question_id="+this.id; 
}, 

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

});

+0

是它能夠例如同時返回[0] [0],[0] [1]在模型中? – user3122094

+0

是檢查下面的答案。 – TYRONEMICHAEL

+1

謝謝,作品就像我想要的一樣! – user3122094

回答

0

骨幹不支持開箱即用的嵌套數據。我會做到以下幾點:

QuestionModel = Backbone.Model.extend({ 
    id: "", 
    url: function() { 
     return "api/?action=getQuestionData&question_id="+this.id; 
    }, 

    parse: function (response) { 
     return { question: response["0"][0], answers: response["1"] }; 
    } 
}); 

然後你就可以訪問你的屬性,如questionModel.get('question').id和你的答案一樣questionModel.get('answers')[0].percent