[英]How to get json data to array in ionic?
我是離子新手。 我需要將json數據獲取到array。以下是示例json數據。
{"state":"yes"}
從上面的json數據中,我只需要在數組中存儲“狀態”值。 請提出任何解決方案。 謝謝你
login()
{
let hash = CryptoJS.SHA256(this.user_password).toString(CryptoJS.enc.Hex);
let data:Observable<any>;
data = this.http.get('mydomain/api/?loginUn='+this.user_name+'&password='+hash);
data.subscribe(result=>
{
this.items = result;
})
if(this.items['state'] == "yes")
{
console.log("state yes");
}
else
{
console.log("else");
}
}
這是我的錯誤
TypeError: Cannot read property 'state' of undefined
閱讀有關Observable對象的信息,通常具有以下結構:
variable.subscribe(
(response) => {},
(error) => {}
);
在您的響應函數的{}內放置所有實現,在這種情況下,if else結構不在外部。
這里的問題是Observable是angular的對象,它是PROMISES的“升級”,因此是異步函數,在這種情況下,您使用的是http函數,因此應用程序向服務器發送請求,並且訂閱將觸發直到http響應,但其余代碼仍會執行,因此請咨詢。
if(this.items['state'] == "yes")
之所以未定義,是因為http在此之后需要幾毫秒的響應,
所以你需要做的是:
data.subscribe(
(result) => {
this.items = result;
if(result['state'] == "yes"){
console.log("state yes");
} else{
console.log("else");
}
},
(error)=> {
//When subcribe, in this case http fail in something
}
);
閱讀有關Java的Promise和Angular的Observables的更多信息。
我希望我有所幫助:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.