0

PHPページから取得したデータは次のようなものです:

[{
    "id": "1",
    "name": null,
    "startdate": "2012-07-20",
    "starttime": "09:53:02",
    "enddate": "2012-07-20",
    "endtime": "09:54:10",
    "duration": "01:00:00",
    "feedbacks": [{
        "id": "1",
        "type": "1",
        "content": "cont"
    }],
    "conditions": [{
        "id": "1",
        "dev_id": "1",
        "mod_id": "2",
        "sub_id": "3",
        "to_be_compared_value": "1",
        "comparison_type": "1"
    }],
    "actions": [{
        "id": "1",
        "dev_id": "1",
        "mod_id": "1",
        "sub_id": "1",
        "target_action": "1"
    }]
}]

このオブジェクトをトラバースするのに、簡単で、効率的で、エレガントな方法はどれですか? 今までこの2つを使っていました。どちらを選択する必要があるか教えていただけますか、それとも別の方法を教えていただけますか? なぜ?私は自分のアプリケーションの実行中のバージョンを持っており、現在自分自身のコードを見直しています。皆さんからのアドバイスを受けたいと思います。

前もって感謝します、

以前に使用した方法:

$.map
for(var i in obj)

もう1つ、このデータからテーブルを作成します。

4

4 に答える 4

1

このようなものにはhttp://underscorejs.org/を使用することを好みます。オブジェクト、コレクションなどの便利な機能がたくさんあります。

于 2012-07-20T11:08:12.183 に答える
0

受信しているデータが変わらない場合は、オブジェクトを解析して、必要なキーを使用してください。私が知っているすべてのブラウザーには、JSON 文字列を JS オブジェクトに変換するJSON.parseという関数があります。私が言おうとしているのは、怠惰にならないでください。オブジェクトが常に同じデータを提供する場合、「一般的な」関数を作成しても何のメリットもありません。それを使用できる可能性はほとんどありません。別のオブジェクトで再び機能します。

var myobj= JSON.parse(phpJSONstring);
var feedbacks= myobj["feedbacks"];
//do something with feedbacks
var conditions= myobj["conditions"];
//do something with conditions

于 2012-07-20T11:13:51.650 に答える
-1

JSON 文字列を JavaScript オブジェクトに変換し、次のようにオブジェクトにアクセスできます。

var obj = jQuery.parseJSON(jsonString);
alert('Id='+obj.id);

var feedbackList = obj.feedbacks;
for (var i=0; i<feedbackList.length; i++) {
   ...
}

jQuery.parseJSON への参照: http://api.jquery.com/jQuery.parseJSON/

于 2012-07-20T11:10:59.793 に答える