在JSON.parse(file)之后返回对象

时间:2019-01-31 17:25:16

标签: javascript json xmlhttprequest

在分配变量var obj = JSON.parse(fileReader.result)之后,我试图返回一个包含JSON文件中文本的对象。这个想法是,一旦返回,我就可以遍历读取JSON文件的函数之外的对象。但是,什么也不会返回,甚至[Object object]也不会返回。

function readJSON(path) {
    var xhr = new XMLHttpRequest();
    xhr.open('GET',path,true);
    xhr.responseType = 'blob';
    xhr.onload = function(e) {
        if (this.status == 200) {
            var file = new File([this.response], 'temp');
            var fileReader = new FileReader();
            fileReader.addEventListener('load',function() {
                var obj = JSON.parse(fileReader.result);
                return obj;
            });
            fileReader.readAsText(file);
        }
    }
    xhr.send();
}

/*Code to iterate through object items, after calling function.*/

var obj2 = readJSON('test.json');
for (x in obj2) {
    document.getElementById('root').innerHTML += x + '<br>';
}

0 个答案:

没有答案