以下是完整的代码:
var picTempJSON = JSON.stringify(pictures);
//code to update model
usersCollection.fetch({
success : function() {
var getModel = usersCollection.where(checkFBAccountIdJSON);
//console.log(PersonJson);
for (var i in getModel) {
getModel[i].set('pictures', picTempJSON);
getModel[i].save();
}
console.log(usersCollection.toJSON());
},
error : function() {
// something is wrong..
}
});
输入字符串:
["xxxx.jpg","xxxx.jpg","xxxxx.jpg"]
输出字符串:
pictures = "[\"xxxx.jpg\",\"xxxx_n.jpg\",\"xxxxx.jpg\"]";
我遇到的问题是输入字符串不反映输出字符串(或存储在模型中的字符串),当我必须将字符串恢复为JSON对象时,这将导致后续问题,因为它是由于反斜杠而无效的JSON
答案 0 :(得分:0)
如果你真的必须将它作为字符串存储在模型中,你可以调用
var pictures = JSON.parse(model.get('pictures'));
获取数据或重写模型的toJSON
方法并在其中调用JSON.parse(...)
,因此在迭代收集时,每个模型都会准备好所有内容
var AnyModel = Backbone.Model.extend({
//...
toJSON: function() {
return {
//...
'pictures': JSON.parse(this.get('pictures'))
//...
}
}
//...
});