$.getJson生成数组后,能够访问数组,但不能访问其中某一项

在请求一个json并存入一个数组后,直接在控制台打印该数组可以得到结果,但单独打印其中某一项时出现问题,同时在使用这个数组时也现问题。
代码如下:

function getRedNum(RedData,name){
    if(name==null) {
        $.getJSON("http://127.0.0.1:5000/count/red", function (RedNumjson) {
            //console.log(RedNumjson);
            for(var i=0;i<RedNumjson.length;i++){
                var obj={};
                obj.name=RedNumjson[i].num;
                obj.value=RedNumjson[i].value;
                RedData.push(obj);
            }
            return ;
        })
    }
    else{
        $.getJSON("http://127.0.0.1:5000/count/red/"+name,function (RedNumjson){
            //console.log(RedNumjson);
            for(var i=0;i<RedNumjson.length;i++){
                var obj={};
                obj.name=RedNumjson[i].num;
                obj.value=RedNumjson[i].value;
                RedData.push(obj);
            }
            return ;
        })
    }
}

打印时


        var ChinaData=[];
        getRedNum(ChinaData);
        console.log(ChinaData);
        console.log(ChinaData[1].name);

最后控制台得到的结果是

img


但是单独打印其中一项的name时出错

img

是不是ChinaData数据格式有问题,正常的数组应该是这样显示的

img