2

obj = JSON.parse(data) を使用して作成した json オブジェクトがあります。「データ」はウェブサーバーから受信されました。オブジェクトから単一の変数をdivまたはリストに出力できるため、オブジェクトが正しいことはわかっています。

これは、jsonオブジェクトが作成されるものです:

[{"名前":"スタウリコサウルス","グループ":"竜盤類","食事":"肉食動物","時代":"三畳紀"},{"名前":"ディプロドクス","グループ":"竜盤類","diet":"草食動物","期間":"ジュラ紀"},{"name":"ステゴサウルス","group":"鳥盤類","食事":"草食動物","期間":"ジュラ紀"},{"名前":"ティラノサウルス","グループ":"竜盤類","食事":"肉食動物","時代":"白亜紀"}]

文字通り、私がやりたいことは、これを に入れ、Web ページに表示することだけです。

私の現在のコード:

 function getJson(){$.get(MY URL, function(data) {
            // String
            //console.dir(data);

            // Parse JSON
            var obj = JSON.parse(data);

            // JSON object
            //console.dir(obj);
            $('#myList').html("<li>"+obj[0].period+"</li><li>"+obj[2].period+"</li>");
            //$('#myList').html("<li>obj[2].period</li>");
        });

    }

これにより、Triassic、Jurrasic のリストが正常に出力されます。

Jquery でこれを行うことをお勧めしますが、javascript は問題ありません。

ありがとうございました。

4

2 に答える 2

1

リストを反復処理するのではなく、配列の 0 番目と 2 番目の要素を出力するだけです。試す:

function getJson(){$.get(MY URL, function(data) {
        // String
        //console.dir(data);

        // Parse JSON
        var obj = JSON.parse(data);

        // JSON object
        //console.dir(obj);
        var inner = '';
        for(i=0; i < obj.length; i++) {
             inner += "<li>"+obj[i].period+"</li>";
        }
        $('#myList').html(inner);
    });

}

jQueryを使用したよりクリーンな方法があると確信していますが、それはうまくいくはずです

于 2014-04-10T23:02:44.207 に答える