如果条件不起作用

时间:2015-03-16 08:23:48

标签: android json

我正在尝试获取json数组中的实体值。我使用了对象subMenuObject来获取和存储json响应数据。在我使用的代码中,

Log.i("MealDealCatCode ", subMenuObject.getString("MealDealCatCode"));

并在我的logcat中打印L3

我的问题是我使用了if条件,

if ((subMenuObject.getString("MealDealCatCode")).equals("L3")) {

当我调试并尝试进入if条件时,它没有进入。它检查并跳过if条件。我的if条件有什么问题。任何帮助将受到高度赞赏。

用于访问值的代码

for (int i = 0; i < responseJson.length(); ++i) {
    JSONObject object = responseJson.getJSONObject(i);

    JSONArray subMenuArray = object.getJSONArray("MealDealItemEntity");

    for (int j = 0; j < subMenuArray.length(); ++j) {
        JSONObject subMenuObject = subMenuArray.getJSONObject(j);

        Log.i("MealDealCatCode ", subMenuObject.getString("MealDealCatCode"));

        if ((subMenuObject.getString("MealDealCatCode")).equals("L3")) {
            Log.i("MainMenuDescription", subMenuObject.getString("MainMenuDescription"));
        }
    }
}

json回复:

{  
     "MealDealItemEntity":[  
         {  
            "MealDealCatCode":"L3  ",
            "MainMenuDescription":"Jumbo Coca Cola 199 Rs. 0.00",
         }
      ],
      "MealDealCatCode":"L3  "
}

2 个答案:

答案 0 :(得分:1)

您似乎需要添加.trim()

答案 1 :(得分:1)

因为它包含空格

请改为尝试:

if (subMenuObject.getString("MealDealCatCode").trim().equals("L3")) {

trim()函数删除空格。