我创建了买卖汽车的网站。我使用Edmunds API来获取汽车信息。
我尝试将信息从他们的API网站解析为下拉列表作为JSON格式,但我没有得到结果。我不知道如何从嵌套数组中获取信息 如何获得名称,nickName,年份(在图像中)?
enter code here
<!DOCTYPE html>
<html>
<body>
<h1>Customers</h1>
<select id="dd"></select>
<script>
var xmlhttp = new XMLHttpRequest();
var url = "https://api.edmunds.com/api/vehicle/v2/makes?state=used&year=2014&view=basic&fmt=json&api_key=xxxxxxxxxxxxxxxxxxxxxxxxxx";
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
myFunction(xmlhttp.responseText);
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
function myFunction(response) {
var items = JSON.parse(response);
var i;
var out = "<table>";
function addOptions(){
JSONObject object = new JSONObject();
var jsonArray = object.getJSONArray("url");
for (var i = 0; i < jsonArray.length; i++) {
option = document.createElement('option');
option.text = jsonArray.makes[0].name;
select.add(option);
}
</script>
</body>
</html>
答案 0 :(得分:0)
您没有关闭addOptions()
和他的for
圈内部。
答案 1 :(得分:0)
var arrTest = items.makes;
for (var i = 0; i < arrTest.length; i++) {
var oneObj = arrTest[i];
var strName = oneObj.name;
var niceName = oneObj.niceName;
var arrModel = oneObj.models;
for (var j = 0; j < arrModel.length; j++) {
var strName1 = arrModel[j].name;
var niceName1 = arrModel[j].niceName;
debugger;
var arrYear = arrModel[j].years[0];
}
}
如果有多个元素
,您可以循环arrModel[j].nickName[0].year