java - 检查并读取 android 中主 json 数组中的内部 json 数组?

标签 java android arrays

我想检查并读取主 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);
  }
}

screenshot of sample JSON

最佳答案

How can I check if main jsonarray has a "submenu" array that I want to read?

给你:

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
}

关于java - 检查并读取 android 中主 json 数组中的内部 json 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21525993/

相关文章:

java - 我的Jasper模板未显示任何文字

java - 解决 JBoss 中的 session 固定问题

android - 预期为 BEGIN_OBJECT,但在第 1 行第 2 列路径 $ 处为 BEGIN_ARRAY

javascript - 嵌套的 if 语句和 && (and) 运算符在这个 for 循环中有何不同?

java - 如何使用 Tomcat 服务器限制对文件的访问?

java - Play Framework - 无法为对象堆预留足够的空间

android - AIR/as3 阶段按键监听器覆盖输入文本字段

c# - Unity Android task kill 没有触发 OnApplicationQuit 和 OnDestroy

javascript - 对内部有数组的对象进行过滤

java - 我需要对可租借的电影列表进行排序