尝试使用主干解析静态json
我试图输出带有主干线/下划线的对象列表,但在主干线中得到一个奇怪的输出。我希望得到一个解析的数据结构,但正如您所看到的,我得到的信息似乎没有以正确的方式进行解析。有什么想法吗 这是我的json提要:尝试使用主干解析静态json,json,backbone.js,underscore.js,Json,Backbone.js,Underscore.js,我试图输出带有主干线/下划线的对象列表,但在主干线中得到一个奇怪的输出。我希望得到一个解析的数据结构,但正如您所看到的,我得到的信息似乎没有以正确的方式进行解析。有什么想法吗 这是我的json提要: {"1":{"title":"Test Video Collection - blah (placeholder)","image":"imagenotavailable"},"2":{"title":"Camur Exerci Gemino","image":"public:\/\/gallery
{"1":{"title":"Test Video Collection - blah (placeholder)","image":"imagenotavailable"},"2":{"title":"Camur Exerci Gemino","image":"public:\/\/gallery\/large\/imagefield_ieMdB8.jpg"},"3":{"title":"Abdo Nutus Sed","image":"public:\/\/gallery\/large\/imagefield_LtRKG1.png"},"4":{"title":"Quidne Vereor","image":"public:\/\/images\/video\/[current-date:custom:Y\/m\/d]\/imagefield_j7lGlq.jpg"},"5":{"title":"Ludus Ratis","image":"public:\/\/video-collections\/imagefield_aB3dpQ.png"},"6":{"title":"Appellatio Dolore Huic Vulputate","image":"public:\/\/gallery\/large\/imagefield_LtRKG1.png"}}
这是我的密码:
var itemModel = Backbone.Model.extend();
var ItemList = Backbone.Collection.extend({
model: itemModel,
url: 'http://l.blahcouk.sandbox:8080/franchise/videocollection/date/'
});
var ItemsView = Backbone.View.extend({
template: _.template($('#bandlist_template').html()),
render: function (eventName) {
_.each(this.model.models, function (items) {
console.log(items);
var lTitle = items.attributes['title'];
var lTemplate = this.template(items.toJSON());
$(this.el).append(lTemplate);
}, this);
return this;
}
});
var lItems = new ItemList;
var AppView = Backbone.View.extend({
el: "body",
render: function () {
var lItemsView = new ItemsView({
model: lItems
});
var lHtml = lItemsView.render().el;
$('#bands').html(lHtml);
},
initialize: function () {
var lOptions = {};
lOptions.success = this.render;
lItems.fetch(lOptions);
}
});
var App = new AppView;
这是输出的结构:
r {cid: "c2", attributes: Object, collection: r, _changing: false, _previousAttributes: Object…}
_changing: false
_events: Object
_pending: false
_previousAttributes: Object
attributes: Object
1: Object
2: Object
image: "public://gallery/large/imagefield_ieMdB8.jpg"
title: "Camur Exerci Gemino"
__proto__: Object
3: Object
4: Object
5: Object
6: Object
__proto__: Object
changed: Object
cid: "c2"
collection: r
__proto__: s
我认为发生了这样的事情——您的JSON是有效的,但不是主干网所期望的。主干集合需要对象的数组,而不是带有数字键的对象。所以,您需要做的是更改json输出,使其更像
[
{"title":"Test Video Collection - blah (placeholder)","image":"imagenotavailable"},{"title":"Camur Exerci Gemino","image":"public:\/\/gallery\/large\/imagefield_ieMdB8.jpg"},
....
]
而不是
{
"1": {"title":"Test Video Collection - blah (placeholder)","image":"imagenotavailable"},
"2": {"title":"Camur Exerci Gemino","image":"public:\/\/gallery\/large\/imagefield_ieMdB8.jpg"},
....
}
如果您无法更改此输出,则有办法解决此问题。我认为发生了这样的事情-您的JSON是有效的,但不是主干所期望的。主干集合需要对象的数组,而不是带有数字键的对象。所以,您需要做的是更改json输出,使其更像
[
{"title":"Test Video Collection - blah (placeholder)","image":"imagenotavailable"},{"title":"Camur Exerci Gemino","image":"public:\/\/gallery\/large\/imagefield_ieMdB8.jpg"},
....
]
而不是
{
"1": {"title":"Test Video Collection - blah (placeholder)","image":"imagenotavailable"},
"2": {"title":"Camur Exerci Gemino","image":"public:\/\/gallery\/large\/imagefield_ieMdB8.jpg"},
....
}
如果您无法更改此输出,则有办法解决此问题。或者如果您无权更改JSON,请重写解析以正确填充集合和模型。如果您无权更改JSON,请重写解析以正确填充集合和模型。