Android:JSON字符串数据与其他字符串进行比较

时间:2012-05-06 14:35:44

标签: android json string compare

我想将使用JSON的mysql数据库中的字符串与我的字符串进行比较。 我从数据库收到数据,Log显示我有所有数据。

try{
     JSONArray jArray = new JSONArray(result);
     for(int i=0;i<jArray.length();i++){
         json_data = jArray.getJSONObject(i);
         Log.i("mylog","TABLE_NAME: "+json_data.getString("table_name"));//returns cars

         if (  json_data.getString("table_name") == "cars" ) { //dosent work
              .... 
         }
     }
} catch(JSONException e){
         Log.e("mylog", "Error parsing data "+e.toString());
     return false;
}

并且在Log I的这个例子中收到了表名:cars 以下IF条件不起作用,我不知道为什么。 它很奇怪。我尝试了很多方法。

您知道为什么我无法将JSON中的table_name与简单的String进行比较吗?

1 个答案:

答案 0 :(得分:7)

使用.equals()比较java / android中的两个字符串。

if (json_data.getString("table_name").equals("cars")) {  

         }

它比较Strings refrence如此无法工作......

当您使用字符串文字时,请使用==

==仅适用于原始数据类型,此处为String is Object因此请使用.equals