我在Javascript中创建一个API来获取一些细节。
致电以下人员:APICall.Employee.getAll();
返回:
[{
"id": 123456,
"first_name": "Joe ",
"last_name": "Soap",
"email": "",
"image_url": "http",
"updated_on": "2017-03-06 12:09:47"
}, {
"id": 000123,
"first_name": "Mary",
"last_name": "Soap",
"email": "",
"image_url": "http",
"updated_on": "2017-03-07 06:31:25"
}]
我正在尝试访问每个员工ID。当我测试调用时,我收到错误:“ ReferenceError:未定义员工”
var json = APICall.Employee.getAll();
print("Employees: " + json); // Returns [object Array]...[object Array]
for (i = 0; i < json.length; i++) {
print("ID: " + employees.id); // ReferenceError: employees is not defined
}
我在这里做错了什么?如何访问员工ID?
答案 0 :(得分:2)
首先,你要使用json的长度,而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
}
您会注意到我现在正在查找employees数组的长度。我还通过执行json.employees [i]
来索引循环内的数组更新:使用新代码:
var json = APICall.Employee.getAll();
for (i = 0; i < json.length; i++) {
print("ID: " + json[i].id);
}
答案 1 :(得分:2)
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
}
答案 2 :(得分:1)
您没有引用JSON密钥&#34;员工&#34;并且for循环没有做任何事情。
您需要这样做:
var employees = json.employees;
然后迭代该对象:
for (var i = 0; i < employees.length; i++) {
print("ID: " + employees[i].id);
};
希望有所帮助。