簡體   English   中英

如何獲取json數據到離子數組?

[英]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.

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