好的,我希望能够获取一个JSON文件(外部文件)并对其进行处理,以便我可以创建一个可用于显示数据的数组。
JSON.parse()仅在我声明JSON数组然后对其进行解析时才有效,不适用于外部JSON数据
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if(this.readyState == 4 && this.status == 200) {
console.log(JSON.parse(this.responseText.replace(/[u2018\u2019\u201c\u201D]/g,'"')));
document.getElementById("here").innerHTML =
console.log(myObj.Cardionotes[0].note);
}
}; xmlhttp.open("GET", "PATIENT51.txt", true);
xmlhttp.send();
};
我已使用此问题寻求帮助,但遇到了相同的错误-JSON.parse错误:位置3处的无效字符(这是if的中间部分) How do I turn a JSON file into an arraylist
答案 0 :(得分:0)
只需使用fetch()
(或使用umbrella或jQuery之类的库),而不是尝试在没有库的情况下使用AJAX,您将想把头撞到墙上发现跨浏览器的不同实现存在的所有问题...:
const response = fetch('https://www.reddit.com/r/json.json')
.then((data) => {
// do your .replace(/[u2018\u2019\u201c\u201D]/g,'"') here, e.g.
// data.replace(/[u2018\u2019\u201c\u201D]/g,'"').json();
return data.json();
})
.then((json) => {
console.log(json);
})
.catch(err) => {
console.log(err);
});