簡體   English   中英

JSON對象返回未定義的值

[英]JSON object returns undefined value

我從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()的調用),您的data實際上是一個對象數組

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

如果它是您期望的對象,它將如下所示:

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

(差異很微妙,但請注意缺少的方括號)

嘗試這個:

currentUserRole = data[0].role;

顯然,在生產就緒代碼中,您可能需要進行一些額外的健全性檢查,以確保data實際上是一個包含至少一個元素的數組。

這是一個清單。 嘗試data[0].role

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM