JavaScript-如果第一个值为零,则读取Json

JavaScript-如果第一个值为零,则读取Json,javascript,json,ajax,xmlhttprequest,Javascript,Json,Ajax,Xmlhttprequest,我有一个类似这样的Json文件 { "0":{ "poperty1":"poperty1", "poperty2":"poperty2", }, "1":{ "poperty1":"poperty1", "poperty2":"poperty2", }, "2":{ "poperty1":"poperty1", "poperty2":"poperty2", }, } 我用这个函数读它: function readJson(

我有一个类似这样的Json文件

{
"0":{
    "poperty1":"poperty1",
    "poperty2":"poperty2",
    },
"1":{
    "poperty1":"poperty1",
    "poperty2":"poperty2",
    },
"2":{
    "poperty1":"poperty1",
    "poperty2":"poperty2",
    },
}
我用这个函数读它:

function readJson(){
var rawFile = new XMLHttpRequest();
rawFile.open("GET", "file.json", false);
rawFile.onreadystatechange = function ()
{
    if(rawFile.readyState === 4)
    {
        if(rawFile.status === 200 || rawFile.status === 0)
        {
            // console.log(JSON.parse(rawFile.responseText));
        }
    }
};
rawFile.send(null);
return JSON.parse(rawFile.responseText);
}
但它返回除0之外的所有值

"1":{
    "poperty1":"poperty1",
    "poperty2":"poperty2",
    },
"2":{
    "poperty1":"poperty1",
    "poperty2":"poperty2",
    }
即使我移除并用1启动json,它也会返回1

知道为什么吗?

编辑 我在github上进行了更新,并测试了XHR响应和解析的对象,以检查其是否正确,我可以肯定它工作正常:

函数readJson(){ var rawFile=new XMLHttpRequest(); 打开(“获取”https://raw.githubusercontent.com/crisz/file/master/file.json“,假); rawFile.onreadystatechange=函数() { if(rawFile.readyState==4) { if(rawFile.status==200 | | rawFile.status==0) { log(JSON.parse(rawFile.responseText)); } } }; rawFile.send(空); //返回JSON.parse(rawFile.responseText); }
readJson()您发布的JSON中没有
0
值。请回答您的问题并附上实际结果。另外,在没有JSON解析的情况下记录结果。您还必须等待请求完成。我看到了。但在我的代码中,我有更多的对象,我删除了一些对象以避免问题太长。所以我的“真实”Json是有效的。