【发布时间】: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/…,你可以获得所有标签并检查是否有你的工作