【问题标题】:Check And Read inner json array which is in main json array in android?检查并读取 android 主 json 数组中的内部 json 数组?
【发布时间】:2014-02-26 20:36:12
【问题描述】:

我想检查并读取主 JSON 数组中的 JSON 数组。

如何检查主 jsonarray 是否有我想要读取的“子菜单”数组?

我在这里实现了我的代码,但它在子菜单数组中没有给我任何价值:

for (int i = 0; i < jarray.length(); i++) {
  listDataHeader.add(jarray.getJSONObject(i).get(ClassVariable.MENU.TITLE).toString());

  // For Getting Main Menu in ArrayList
  String title = jarray.getJSONObject(i).get(ClassVariable.MENU.TITLE).toString();
  String uid = jarray.getJSONObject(i).get(ClassVariable.MENU.UID).toString();
  String pid = jarray.getJSONObject(i).get(ClassVariable.MENU.PID).toString();

  HashMap<String,String> map = new HashMap<String, String>();
  map.put(ClassVariable.MENU.TITLE, title);
  map.put(ClassVariable.MENU.UID, uid);
  map.put(ClassVariable.MENU.PID, pid);
  headerarraylist.add(map);

  if (jarray.getJSONObject(i).has(ClassVariable.SUBMENU.SUBMENU)) {
    JSONArray jarraysubmenu  = jarray.getJSONObject(i).getJSONArray(ClassVariable.SUBMENU.SUBMENU);
    Log.e("JarraySubmenu","----->" + jarraysubmenu);
  }
}

【问题讨论】:

  • if(jarray.getJSONObject(i).has(ClassVariable.SUBMENU.SUBMENU)) { JSONArray jarraysubmenu =jarray.getJSONObject(i).getJSONArray(ClassVariable.SUBMENU.SUBMENU); Log.e("JarraySubmenu","----->"+jarraysubmenu);为什么这不适用于检查 jsonarray (SUB_MENU) 条件
  • 检查 jsonArray 的长度,如果 > 0 则获取 subMeny
  • 但子菜单数组并不适用于您在我的图像中看到的所有位置 0 位置没有标签子菜单,但在菜单的 1 位置有标签 sub_menu 所以首先我想检查 SUB_MENU ARRAY 是否存在是的,我看不懂
  • stackoverflow.com/questions/12508823/…,你可以获得所有标签并检查是否有你的工作

标签: java android arrays


【解决方案1】:

如何检查主 jsonarray 是否有我想要的“子菜单”数组 读了吗?

给你:

JsonArray jarr = jarray.getJSONObject(i).optJSONArray(ClassVariable.SUBMENU.SUBMENU);

if(jarr.length()>0 && jarr!=null)
{
    SUBMENU Jarray is present
}
else
{
    SUBMENU Jarray is Not present
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-13
    • 1970-01-01
    • 1970-01-01
    • 2020-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多