我的JSON需要一些可观察的东西。数据如下所示:
{
"event": [{
"id": 1,
"name": "First",
"param": {
"a": 1,
"b": [1, 2, 3]
}
}, {
"id": 2,
"name": "Second",
"param": {
"a": 1,
"b": [1, 2, 3, 4, 5, 6, 7],
"c": 3
}
}]
}
如何获得像对象一样的param?我不知道 - 在param中有多少k => v或对象。我需要知道 - param有变化,我想得到data.attr('event.1.param')并得到
"param": {
"a": 1,
"b": [1, 2, 3, 4, 5, 6, 7],
"c": 3
}
有可能吗?或者你可以告诉我更简单的方法吗?
答案 0 :(得分:1)
有很多方法可以获得实际的对象总线,基本上你可以像对待任何数组一样对待它们:
var o = new can.Observe({
"event": [{
"id": 1,
"name": "First",
"param": {
"a": 1,
"b": [1, 2, 3]
}
}, {
"id": 2,
"name": "Second",
"param": {
"a": 1,
"b": [1, 2, 3, 4, 5, 6, 7],
"c": 3
}
}]
});
o.attr('event.0.param') // -> { "a": 1, "b": [1, 2, 3] }
// Get param 1
var index = 1;
o.attr('event.' + index + '.param');
// Got through all events
o.attr('event').forEach(function(data) {
});
// You can also handle it like a normal array
var index = 1;
o.event[index].attr('param')
答案 1 :(得分:0)
抱歉,我们只需要在最后添加.attr()......
o.attr('event.0.param').attr()
在这种情况下,我们将{{a“:1,”b“:[1,2,3]}