为什么我的jQuery getJSON调用没有按我想要的顺序执行?

时间:2013-05-09 20:13:40

标签: jquery json

我正在编写一些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 = baskets

i = 0 v = greenLantern

i = 1 v = villians

东西(JSON)=冰淇淋,perl,篮子,greenLantern,villians

这个命令混乱不允许我用我想要的值创建我的数组。相反,我最终得到一个空数组。有人可以了解正在发生的事情吗?

谢谢。

0 个答案:

没有答案