2014-05-20 77 views
-1

因此,在我的應用程序中,我正在檢索JSON數據並對其進行解析。現在,它是在這樣在JSON數據中搜索單條記錄(Android應用程序)

名稱一個TextView顯示每一條記錄:埃裏克 電子郵件:Eric.com

名稱:格雷格 電子郵件:[email protected]

..... .............等

代碼:

//parse json data 
try { 
    String s = ""; 
    JSONArray jArray = new JSONArray(result); 

    for(int i=0; i<jArray.length();i++){ 
     JSONObject json = jArray.getJSONObject(i); 

     s = s + 
       "Name : "+json.getString("Name")+"\n"+ 
       "Email : "+json.getString("Email")+"\n\n"; 
    } 

    resultView.setText(s); 

我希望能夠搜索和顯示只有一個記錄,如埃裏克的紀錄。我怎麼能這樣做?我想這將if (json.getString("Name") == "Eric") { }這樣的:

//parse json data 
try { 
    String s = ""; 
    JSONArray jArray = new JSONArray(result); 

    for(int i=0; i<jArray.length();i++){ 
     JSONObject json = jArray.getJSONObject(i); 
      if (json.getString("Name") == "Eric) { //added if statement 
     s = s + 
       "Name : "+json.getString("Name")+"\n"+ 
       "Email : "+json.getString("Email")+"\n\n"; 
       } 
    } 

    resultView.setText(s); 

但它並不顯示任何內容,然後。關於如何在JSON中搜索單個人的記錄的任何想法?謝謝!

回答

1

變化

json.getString("Name") == "Eric" 

json.getString("Name").equals("Eric") 

當比較String你應該使用equals==

+0

這工作,非常感謝。愚蠢的錯誤,永遠讓我! – user2976670

1

使用

json.getString("Name").equals("Eric") 

不要使用==,因爲它基本上用於比較int值並且您正在比較字符串。

相關問題