私はいくつかの 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
この順序のごちゃまぜでは、必要な値で配列を作成することはできません。代わりに、空の配列になってしまいます。誰かが何が起こっているのかを明らかにしてもらえますか?
ありがとうございました。