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 = perl

i = 2 v = 篮子

i = 0 v = 绿灯

i = 1 v = 恶棍

things(JSON) = icecream,perl,baskets,greenLantern,villians

这种顺序混乱不允许我用我想要的值创建我的数组。相反,我最终得到一个空数组。有人可以说明发生了什么吗?

谢谢你。

4

0 回答 0