在JSON数据中搜索单个记录(Android应用程序)

时间:2014-05-20 14:24:35

标签: android json database parsing

所以,在我的应用程序中,我正在检索JSON数据并解析它。现在,它正在显示textView上的每条记录,如此

姓名:埃里克 电子邮件:Eric.com

姓名:格雷格 电子邮件:Greg@Greg.com

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

代码:

  //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中搜索单个人的记录的任何想法?谢谢!

2 个答案:

答案 0 :(得分:1)

更改

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

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

比较String时,您应使用equals而不是==

答案 1 :(得分:1)

使用

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

不要使用==,因为它基本上用来比较int值而你正在比较字符串。