0

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
    }
}]

}

パラメータのようなオブジェクトを取得するには? わかりません-パラメーター内の k=>v またはオブジェクトの数。知っておく必要があります - param が変更されたので、data.attr('event.1.param') を取得して取得したい

"param": {
    "a": 1,
    "b": [1, 2, 3, 4, 5, 6, 7],
    "c": 3
}

出来ますか?それとも、もっと簡単な方法を教えてもらえますか?

4

2 に答える 2

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')
于 2012-12-08T16:10:14.157 に答える
0

申し訳ありませんが、最後に.attr()を追加する必要があります...

o.attr('event.0.param').attr()

この場合、{"a":1、 "b":[1、2、3]}になります。

于 2012-12-10T07:29:13.717 に答える