Javascript 调用RESTAPI会产生错误TypeError

Javascript 调用RESTAPI会产生错误TypeError,javascript,jquery,rest,Javascript,Jquery,Rest,我试图调用RESTAPI,它抛出的错误如下 [Show/hide message details.] TypeError: data.forEach is not a function 我不熟悉RESTAPI 我的API结构如下所示 { "Agents": { "@ZipCode": "33176", "Agent": [ { "AgencyID": "21", "Name": "A

我试图调用RESTAPI,它抛出的错误如下

[Show/hide message details.] TypeError: data.forEach is not a function
我不熟悉RESTAPI

我的API结构如下所示

{
    "Agents":
    {
        "@ZipCode": "33176",
        "Agent": [
        {
            "AgencyID": "21",
            "Name": "Anakarina Callejas",
            "Phone": "305-515-5613",
            "CityName": "KENDALL",
            "Address": "10471 N Kendall Dr. #101. Miami, FL 33176",
            "Reviews-Rating": "5",
            "Reviews-Count": "74",
            "image": "/images/agents/21.png"
        },
        {
            "AgencyID": "116",
            "Name": "Tamara Mourino",
            "Phone": "305-256-0616",
            "CityName": "PINECREST",
            "Address": "12745 South Dixie Highway. #101. Pinecrest, FL 33156",
            "Reviews-Rating": "5",
            "Reviews-Count": "70",
            "image": "/images/agents/116.png"
        }]
    }
}
var request = new XMLHttpRequest();

request.open('GET', 'URL to the API', true);

request.onload = function () {
  var data = JSON.parse(this.response);

  data.forEach(agent => {
    console.log(agent.Name);
  });
}

request.send();
amd我的API调用是这样的

{
    "Agents":
    {
        "@ZipCode": "33176",
        "Agent": [
        {
            "AgencyID": "21",
            "Name": "Anakarina Callejas",
            "Phone": "305-515-5613",
            "CityName": "KENDALL",
            "Address": "10471 N Kendall Dr. #101. Miami, FL 33176",
            "Reviews-Rating": "5",
            "Reviews-Count": "74",
            "image": "/images/agents/21.png"
        },
        {
            "AgencyID": "116",
            "Name": "Tamara Mourino",
            "Phone": "305-256-0616",
            "CityName": "PINECREST",
            "Address": "12745 South Dixie Highway. #101. Pinecrest, FL 33156",
            "Reviews-Rating": "5",
            "Reviews-Count": "70",
            "image": "/images/agents/116.png"
        }]
    }
}
var request = new XMLHttpRequest();

request.open('GET', 'URL to the API', true);

request.onload = function () {
  var data = JSON.parse(this.response);

  data.forEach(agent => {
    console.log(agent.Name);
  });
}

request.send();

从API结构来看,
数据
是一个
对象
而不是
数组

首先从
数据
对象中获取
代理数组
,然后对其进行迭代以获取每个
代理的
名称

var responseData =JSON.parse(responseData);
var data= responseData.Agents.Agent;
data.forEach(agent => {
    console.log(agent.Name);
  });
包含示例数据的片段:

var responseData='{“Agents”:“{@ZipCode”:“33176”,“Agent”:[{“AgencyID”:“21”,“Name”:“Anakarina Callejas”,“Phone”:“305-515-5613”,“CityName”:“KENDALL”,“Address”:“10471 N KENDALL Dr.#101.迈阿密,佛罗里达州33176”,“评论评级”:“5”,“评论计数”:“74”,“image”:“images/images/Agents/21.png”},{“AgencyID”:“116”,“Name”:“Tamara Mourino”,“Phone”:“305-256-0616”,“城市名称”:“PINECREST”,“地址”:“12745南迪克西公路.#101.PINECREST,FL 33156”,“评论评级”:“5”,“评论计数”:“70”,“图片”:“/images/agents/116.png”}}”;
var responseData=JSON.parse(responseData);
var数据=responseData.Agents.Agents;
data.forEach(代理=>{
console.log(agent.Name);

})
从您的API结构来看,
数据是一个
对象
而不是
数组

首先从
数据
对象中获取
代理数组
,然后对其进行迭代以获取每个
代理的
名称

var responseData =JSON.parse(responseData);
var data= responseData.Agents.Agent;
data.forEach(agent => {
    console.log(agent.Name);
  });
包含示例数据的片段:

var responseData='{“Agents”:“{@ZipCode”:“33176”,“Agent”:[{“AgencyID”:“21”,“Name”:“Anakarina Callejas”,“Phone”:“305-515-5613”,“CityName”:“KENDALL”,“Address”:“10471 N KENDALL Dr.#101.迈阿密,佛罗里达33176”,“评论评级”:“5”,“评论计数”:“74”,“image”:“images/images/Agents/21.png”},“AgencyID”:“116”,“Name”:“Tamara Mourino”,“Phone”:”305-256-0616,“城市名称”:“PINECREST”,“地址”:“12745南迪克西公路.#101.PINECREST,FL 33156”,“评论评级”:“5”,“评论计数”:“70”,“图片”:“/images/agents/116.png”}}”;
var responseData=JSON.parse(responseData);
var数据=responseData.Agents.Agents;
data.forEach(代理=>{
console.log(agent.Name);

})
您的
数据
是一个对象而不是数组,您返回的响应中唯一的数组是
代理
,根据您的结构,该数组将位于
data.Agents.Agent
请阅读-总结是,这不是一种解决志愿者问题的理想方式,可能会对获得答案产生反作用。请避免使用将此添加到您的问题中。您的
数据
是一个对象而不是一个数组,您返回的响应中唯一的数组是
代理
,根据您的结构,它将位于
数据.Agents.Agent
请阅读-总结是,这不是解决志愿者问题的理想方式,可能会对获得答案产生反作用。请不要将此添加到您的问题中。这很有帮助,谢谢。但是我会像这样拆分数据变量
var responseData=JSON.parse(this.response);var data=responseData.Agents.Agent;
hi,我还有另一个问题,你能看看吗?这很有帮助,谢谢。但是我会像这样拆分数据变量
var responseData=JSON.parse(this.response);var data=responseData.Agents.Agent;
hi,我还有另一个问题,你能看看吗?