0

私はいくつかの Jquery を作成している最中で、コードの順序が思いどおりに動作していません。具体的には、JSON 呼び出し (getJSON) を行っており、ファイルを取得したら、後で使用する配列を作成したいと考えています。

私のコード -

jQuery(document).ready( function () {
    console.log("first");
    var things = [];
    jQuery.getJSON("file.json", function(data) {
        jQuery.each(data, function(key, value) {
            jQuery.each(value, function(i, v) {
                console.log("i = " + i  + " v = " + v);
                things.push(v);
            });
        });
        console.log( "things(JSON) = " + things);
    });
    console.log( "things = " + things);
    console.log("last");
});

私のJSONファイル -

{
    "good": [
        "icecream",
        "perl",
        "baskets"
    ],
    "bad": [
        "greenLantern",
        "villians"
     ],
}

getJSON、JSON オブジェクトからデータを取得、配列「もの」に追加するという実行順序を期待していました。

しかし、代わりに私はこれを見ます:

最初

test2.json を取得

もの(最後) =

過去

i = 0 v = アイスクリーム

i = 1 v = パール

i = 2 v = バスケット

i = 0 v = グリーンランタン

i = 1 v = ヴィリアン

もの (JSON) = アイスクリーム、perl、バスケット、greenLantern、villians

この順序のごちゃまぜでは、必要な値で配列を作成することはできません。代わりに、空の配列になってしまいます。誰かが何が起こっているのかを明らかにしてもらえますか?

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

4

0 に答える 0