JSON,外部API,javascript,循环时表/字段名称中的空格



我使用的是外部API,表和字段名称中有空格。对于这部分,它去 身体部位> 身体位置 我可以让控制台打印正文位置,但由于空格,我无法通过 for 循环发送它。我玩过括号符号。 数据显示在控制台中,我在循环开始时设置了一个警报,看看它是否走得那么远。不是。没有错误或警告。 我已经这样做了很多年了,我想不通。谢谢!

下面是正文位置的控制台打印:

[{"ID":16,"Name":"Abdomen, pelvis & buttocks"}, 
{"ID":7,"Name":"Arms & shoulder"},
{"ID":15,"Name":"Chest & back"},
{"ID":6,"Name":"Head, throat & neck"},
{"ID":10,"Name":"Legs"},
{"ID":17,"Name":"Skin, joints & general"}]
$(document).ready(function () {
var data = null;
var request = new XMLHttpRequest();
var xhr = new XMLHttpRequest();
xhr.withCredentials = false;

xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https:anguage=en-gb");
xhr.setRequestHeader("x-rapm");
xhr.setRequestHeader("x-rap85");
xhr.send(data);
});
var obj, dbParam, xmlhttp, myObj, i, x, txt = "";
obj = { table:"Body parts", limit: 300};
dbParam = JSON.stringify(obj);
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myObj = JSON.parse(this.responseText);
var result = [];

for (i in myObj['Body  locations']) {
alert(it worked);

}
xmlhttp.open("GET", "htt=en-gb");
xmlhttp.setRequestHeader("x-api.com");
xmlhttp.setRequestHeader("x-r13785");
xmlhttp.send("i=" + dbParam);
}
}

键中的空格应该不是问题。myObj["body locations"]是一个Array,所以你最好尝试使用for of来迭代它。像这样:

const bls = {
"body  locations": [
{"ID":16,"Name":"Abdomen, pelvis & buttocks"}, 
{"ID":7,"Name":"Arms & shoulder"},
{"ID":15,"Name":"Chest & back"},
{"ID":6,"Name":"Head, throat & neck"},
{"ID":10,"Name":"Legs"},
{"ID":17,"Name":"Skin, joints & general"}
]
};
for (let bl of bls["body  locations"]) {
console.info(`id: ${bl.ID}, name: ${bl.Name}`); 
}
.as-console-wrapper { top: 0; max-height: 100% !important; }

最新更新