Javascript 如何在knockout JS中填充嵌套字典类型对象
我的web服务器上有这个JSON对象Javascript 如何在knockout JS中填充嵌套字典类型对象,javascript,knockout.js,Javascript,Knockout.js,我的web服务器上有这个JSON对象 {4: {9: {'id': 9, 'name': 'key9'}, 5: {8: {'id': 8, 14: {'id': 14, 'name': 'key14'}, 'name': 'key8'}, 7: {11: {'id': 11, 'name': 'key11'},13: {'id': 13, 'name': 'key13'}, 'id': 7, 'name': 'key7'}, 'id': 5, 'name': 'key5'},'id': 4,
{4: {9: {'id': 9, 'name': 'key9'}, 5: {8: {'id': 8, 14: {'id': 14, 'name': 'key14'},
'name': 'key8'}, 7: {11: {'id': 11, 'name': 'key11'},13: {'id': 13, 'name': 'key13'},
'id': 7, 'name': 'key7'}, 'id': 5, 'name': 'key5'},'id': 4, 6: {'id': 6, 'name': 'key6'},
'name': 'key4'}}
我希望它使用knockout js根据层次结构填充id和名称
这应该是这样的
- 关键4
- 键9
- 键5
- 键8
- 键14
- 键8
提前谢谢 ko.mapping实用程序将为您处理此问题
var rawData = <<your above data>>
var ViewModelMapping = {
include: ['id', 'name'],
create: function (options) { return new ViewModel(options.data); }
};
var ViewModel = function(data) {
var self = this;
ko.mapping.fromJS(data, ViewModelMapping, self);
}
$(document).ready(function() {
var viewModel = new ViewModel(rawData);
ko.applyBindings(viewModel, document.getElementById('myElement'));
});
var rawData=
var ViewModelMapping={
包括:['id','name'],
create:function(options){returnnewviewmodel(options.data);}
};
var ViewModel=函数(数据){
var self=这个;
fromJS(数据,ViewModelMapping,self);
}
$(文档).ready(函数(){
var viewModel=新viewModel(原始数据);
applyBindings(viewModel,document.getElementById('myElement');
});
通过映射,您的所有数据都将映射到一组嵌套的观测值中。一旦你得到它,它就相当好了
如果您对数据源有任何控制权,我强烈建议您去掉每个条目前面的初始整数,并使对象成为一组嵌套数组。谢谢!如何以嵌套格式将这些绑定应用于ul?