JSON 对象返回未定义的值

2023-11-26

我从 http 调用接收到一个 JSON 对象,并尝试从中提取值。 JSON 对象包含:

data:{"userid":"007", "role":"spy"}

我使用以下代码来分配role属性到另一个变量,然后进行一些控制台日志检查:

    currentUserRole = data.role;    
    console.log("type of data: "+typeof(data));
    console.log("data: "+JSON.stringify(data));
    console.log("user role: "+currentUserRole);

日志产生:

type of data: object
data: [{"userid":"007", "role":"spy"}]
user role: undefined

我还尝试了另一种分配方法:

currentUserRole = data['role'];

但 currentUserRole 仍然存在不明确的。如何将 JSON 对象的属性设置为变量?


根据日志的第二行(调用JSON.stringify()), your data实际上是一个array对象数量:

[{"userid":"007", "role":"spy"}]

如果它是一个如您所期望的对象,它将如下所示:

{"userid":"007", "role":"spy"}

(区别很微妙,但请注意缺少方括号)

尝试这个:

currentUserRole = data[0].role;

显然,在生产就绪的代码中,您可能需要进行一些额外的健全性检查以确保data实际上是一个至少包含一个元素的数组。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JSON 对象返回未定义的值 的相关文章

随机推荐