我正在尝试获取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 "
}
答案 0 :(得分:1)
您似乎需要添加.trim()
答案 1 :(得分:1)
因为它包含空格。
请改为尝试:
if (subMenuObject.getString("MealDealCatCode").trim().equals("L3")) {
trim()
函数删除空格。