2015-03-16 3 views
0

Я пытаюсь получить значение сущности, которая находится внутри массива json. Я использовал объект subMenuObject, чтобы получить и сохранить данные ответа json. В моем коде я использовал,Если условие не работает

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

и печатает L3 в моем LogCat.

Моя проблема, я использовал if Condtion как,

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

Когда я отладки и попытаться зайти внутрь 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 " 
} 

ответ

1

Потому что она содержит пространства.

Попробуйте вместо этого:

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

trim() функция удаляет пробелы.

+0

Спасибо, что сработал, но я думаю, что malarres дал ответ 1-й. Поэтому я думаю, что я должен проголосовать за него. – modabeckham

+0

. Я видел разницу во времени. Я проголосовал за первый правильный ответ. Я новичок в этой системе, могу ли я проголосовать за 2 ответа? – modabeckham

+0

Нет, вы не можете. Есть только 1 принятый ответ. Вы судите, какая из них лучшая. –

Смежные вопросы