那什么才叫别样的数据字典解析呢,请看下图:
先说明困难:第一key长度可能很多,第二key可能不连续。 那你说,只能手动解了。例如如下方式:jsonArry.getJsonObject(i).getString(“3”)。
当你看见,你觉得ok吗,显然不是,那就看看我下面的解析方式: public static List getDictionaryListObject(JSONObject jsonObject, String result) {
List<String> datas=new ArrayList<String>(); try { JSONArray jsonArray=jsonObject.getJSONArray(result); for (int i=0;i<jsonArray.length();i++){ JSONObject object=jsonArray.getJSONObject(i); Iterator<String> iterator=object.keys(); String str=null; while (iterator.hasNext()){ str=iterator.next(); if (!TextUtils.isEmpty(str)){ datas.add(object.getString(str)); } } } } catch (Exception e) { e.printStackTrace(); } return datas; }}
那怎么使用该函数呢,见下面: if (jsonObject.has(“data”)) { JsonUtil.getDictionaryListObject(jsonObject.getJSONObject(“data”), “dataList”); }