那什么才叫别样的数据字典解析呢,请看下图:
先说明困难:第一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”);
}