Javascript 访问JSON数组中的元素
我正在用Javascript制作一个API来获取一些细节 调用以下命令:Javascript 访问JSON数组中的元素,javascript,arrays,json,api,Javascript,Arrays,Json,Api,我正在用Javascript制作一个API来获取一些细节 调用以下命令:APICall.Employee.getAll() 返回: 我正在尝试访问每个员工ID。当我测试调用时,我得到错误:“ReferenceError:未定义员工” var json=APICall.Employee.getAll(); 打印(“员工:+json”);//返回[对象数组]…[对象数组] for(i=0;i
APICall.Employee.getAll()代码>
返回:
我正在尝试访问每个员工ID。当我测试调用时,我得到错误:“ReferenceError:未定义员工”
var json=APICall.Employee.getAll();
打印(“员工:+json”);//返回[对象数组]…[对象数组]
for(i=0;i
我做错了什么?如何访问员工ID?您没有引用JSON键“employees”,for循环也没有做任何事情
您需要执行以下操作:
var employees = json.employees;
然后在该对象上迭代:
for (var i = 0; i < employees.length; i++) {
print("ID: " + employees[i].id);
};
for(var i=0;i
希望这会有所帮助。首先,您使用的是json的长度,这是不存在的。第二,你从来不用索引i。这是一个固定版本
var json = APICall.Employee.getAll();
print("Employees: " + json); // Returns [object Array]...[object Array]
for (i = 0; i < json.employees.length; i++) {
print("ID: " + json.employees[i].id); // ReferenceError: employees is not defined
}
var json=APICall.Employee.getAll();
打印(“员工:+json”);//返回[对象数组]…[对象数组]
对于(i=0;i
您会注意到,我现在查找employees数组的长度。我还通过执行json.employees[I]在循环中索引到该数组中
更新:要使用新代码:
var json = APICall.Employee.getAll();
for (i = 0; i < json.length; i++) {
print("ID: " + json[i].id);
}
var json=APICall.Employee.getAll();
for(i=0;ivar json=APICall.Employee.getAll();
打印(“员工:+json”);//返回[对象数组]…[对象数组]
对于(i=0;i
那么,“员工”的定义在哪里?您正在基于json.length进行循环,但试图从名为“employees”的变量打印?这就是为什么它没有定义告诉你员工的原因。试试json.employees.id
@mstorkson我认为APICall.employeen.getAll()
正在返回一个与引用示例形状相同的对象数组。也尝试了此操作,但出现错误:“无法读取未定义的@heyred do print(JSON.stringify(JSON,null,2))的属性'first_name',并将输出添加到问题中。让我们至少确保您的API调用返回的是您认为应该返回的内容,即APICall.Employee.getAll()
返回一个与引用示例形状相同的对象数组。问题是“返回给我的JSON数组与下面的完全相同”。我认为status、tag、employee等都是返回的json的键,我认为APICall.employee.getAll()
返回的对象数组的形状与引用的示例相同。@JDB是什么让您这么认为的?示例中的对象确实包含员工列表,因此是GetAll()的适当返回类型。这也解释了他的错误。当我尝试这里的答案时,我得到了错误:“无法读取未定义的属性‘length’”,我假设这是因为OP在读取json.length时没有得到错误。如果该属性未定义,那么代码将永远不会进入for循环,也永远不会执行可能引发错误的代码
返回一个与引用示例形状相同的对象数组。然后先更改json结构,然后提问。这不是我的问题。但是是的。。。我同意。。。最好问一个好问题,这样人们就不会把时间浪费在回答错误的问题上。
var json = APICall.Employee.getAll();
print("Employees: " + json); // Returns [object Array]...[object Array]
for (i = 0; i < json.employees.length; i++) {
print("ID: " + json.employees[i].id); // ReferenceError: employees is not defined
}
var json = APICall.Employee.getAll();
for (i = 0; i < json.length; i++) {
print("ID: " + json[i].id);
}
var json = APICall.Employee.getAll();
print("Employees: " + json); // Returns [object Array]...[object Array]
for (i = 0; i < json.employees.length; i++) {
print("ID: " + json.employees[i].id); // ReferenceError: employees is not defined
}