首先,JSON结构确实非常奇怪。修理服务器或请服务器团队寻求治疗。但是,假设您无法取消嘲笑服务器的JSON,以下是将其变成与主干兼容的数组的方法:
var HotelsCollection = Backbone.Collection.extend({ model: Hotel, url: "includes/test-data.json", parse: function(response){ //remove prefix/wrapper object and collect "hotel" 1-element arrays var sillyArrays = _.pluck(response.hotels, 'hotel'); //Extract the hotel objects from their silly 1-element arrays //Synthesize a fake id attribute since backbone expects that var hotels = _.map(sillyArrays, function (hotelArray, index) { return {name: hotelArray[0].name, id: index + 1}; }); return hotels; } });该
parse函数将返回该数据,主干将理解。
[ { name: 'Hotel1', id: 1 }, { name: 'Hotel2', id: 2 }, { name: 'Hotel3', id: 3 } ]还要注意,缺少
id属性是您最终需要解决的另一件事,以便您的应用程序能够与骨干网一起正常工作。



