【发布时间】:2014-11-21 04:24:30
【问题描述】:
我收到了一个错误Object.keys called on non-object。违规代码是;
numberOfEmployees = Object.keys(employee_data).length;
employee_data 是一个 json 对象,它从 Web 服务获取分配的 json 输出数据。此错误仅在 json 输出为空 [] 时发生。如果 json 输出不为空,则没有错误。代码有什么问题?
当json输出为空[]时,employee_data变为undefined。
【问题讨论】:
-
employee_data的值是怎么赋值的? -
发生错误时未定义
-
好吧,你不能接受未定义的
Object.keys()。它是如何变得未定义的?employee_data是如何创建或分配的?如果 Web 服务返回未定义的 JSON,则可能意味着请求存在某种错误,因此您显然需要检测到该错误并执行所需的任何错误处理。 -
当这个问题赢得了 1000 次浏览的热门徽章时,为什么我会对此问题投反对票?这个问题有什么问题?想知道以后避免在stackoverflow上提出不好的问题。
标签: javascript arrays json javascript-objects