2017-03-24 68 views
-1

我想從我的JSON對象檢查一些細節,但問題是當我從JSON獲取數據並與另一個比較有一個問題,我無法弄清楚。解析器JSON沒有響應,因爲它應該回應

我想從JSON採取「狀態」(字符串的真/假)字段和比較字符串的真正的字符串,然後從JSON打印另一個字段問題是,它不進入if段即使它需要真正的==真

的JSON對象 -

[ 
{ 
    "latitude":"33.33", 
     "longitude":"44.44", 
     "name":"test1", 
     "Notification":"true", 
     "status":"true" 
}, 
{ 
    "latitude":null, 
     "longitude":null, 
     "name":null, 
     "Notification":null, 
     "status":"false" 
} 
] 

 try { 

     JSONArray jsonarray = new JSONArray(answer); 
     for (int i = 0; i < jsonarray.length() - 1; i++) { 
      JSONObject jsonobject = jsonarray.getJSONObject(i); 

      String a = jsonobject.getString("status"); // for the first is true and the second is false 

      if(a == "true"){ // not enter to this if a equal to true 
       Log.d("test",jsonobject.getString("status")); 
      } 
     } 
    }catch(Exception e) 
    { 
     e.printStackTrace(); 
    } 

我會很高興,如果有人能幫助我明白什麼是問題。謝謝。

+1

如果(a.toString()。等於( 「真」))試試這個 –

+0

@ZakiPathan謝謝!現在它的工作 – asaproG

+0

並從for循環中刪除-1。如果你想 - 1然後把條件作爲我<= ksonarray.length() - 1 –

回答

1

使用此

try { 

    JSONArray jsonarray = new JSONArray(answer); 
    for (int i = 0; i < jsonarray.length() - 1; i++) { 
     JSONObject jsonobject = jsonarray.getJSONObject(i); 

     String a = jsonobject.getString("status"); // for the first is true and the second is false 

     if(a.equals("true")){ // not enter to this if a equal to true 
      Log.d("test",jsonobject.getString("status")); 
     } 
    } 
}catch(Exception e) 
{ 
    e.printStackTrace(); 
} 
+0

謝謝太多了!現在它工作完美! – asaproG

+0

請將其標記爲正確,以便將來任何人都可以使用它。 –