ANDROID 中 树形结构JSON 的 遍历提取信息
来源:互联网 发布:windows电脑登录微信 编辑:程序博客网 时间:2024/05/16 20:27
最近研究了下android 发现ANDROID 中提供的JSON 在JAVA PROJECT 中调用会报异常 还以为那格式不对弄了半天
对于数据的提取 不多说 附上代码
public class LoadMenuList extends BaseProtocol {
private final static String URL = "http://192.168.80.145:8383/plat_orcl/account/menu!getUserMenusSource.action";
public boolean loadMenuListInfo(String params) {
try {
// addNameValuePair("username", usr.getUsername());
// addNameValuePair("password", usr.getPassword());
//请求服务器并获取返回结果,这里返回JSON
pack(URL);
StringBuilder sbb = parse();
JSONObject obj = null;
if(sbb != null && sbb.indexOf("[") != -1 && sbb.indexOf("]") != -1 && sbb.lastIndexOf("]") == sbb.length()-1){
obj = new JSONObject(sbb.substring(1,sbb.length()-1).replaceAll("\"children\":null", "\"children\":[]"));
}else{
obj = this.getJSON(sbb.toString());
}
StringBuilder strb = new StringBuilder();
ArrayList<JSONObject> childrenList = getChildrenJSONArrayList(obj);
getAllListMenuText(childrenList,strb);
System.out.println(strb);
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
/**
* 获取菜单信息的调用方法
* @param childrenList
* @param tempSb
* @throws Exception
*/
public void getAllListMenuText(ArrayList<JSONObject> childrenList,StringBuilder tempSb)
throws Exception{
for (JSONObject jsonObject : childrenList) {
tempSb.append(jsonObject.get("text")+" | ");
System.out.println(jsonObject.get("text"));
ArrayList<JSONObject> childrenList2 = getChildrenJSONArrayList(jsonObject);
if(childrenList2 != null && childrenList2.size()>0){
getAllListMenuText(childrenList2,tempSb); //递过调用,遍历当前根节点
}
}
}
/**
* 作为存放根节点对象的调用方法,这里返回JSON用 children 存放子节点
* @param obj
* @return
* @throws Exception
*/
public ArrayList<JSONObject> getChildrenJSONArrayList(JSONObject obj) throws Exception{
ArrayList<JSONObject> jsonlist = new ArrayList<JSONObject>();
JSONArray nameList = obj.getJSONArray("children");
for (int i = 0; i < nameList.length(); i++) {
jsonlist.add((JSONObject)nameList.opt(i));
}
return jsonlist;
}
查看日志结果:
- ANDROID 中 树形结构JSON 的 遍历提取信息
- oracle中遍历树形结构的方法
- 树形结构的json数据源,
- Linux文件系统调用----实现对树形文件结构的广度优先遍历,即按层输出文件信息
- 递归调用,遍历CTreeCtrl的树形结构
- java实现文件夹的遍历(树形结构)
- 遍历树形json
- 将一条一条的json转成树形结构
- 将一条一条的json转成树形结构
- hibernate遍历树形结构
- mysql树形结构遍历
- htmlparser提取网页 显示网页的树形结构
- mySQL中构建树形结构(类似oracle的树形结构)
- python从提供的api中提取数据信息解析json
- 已知遍历 推树形结构
- java 递归遍历树形结构
- java 递归遍历树形结构
- 分别采用深度和广度遍历数据库中邻接表中存储的树形结构的数据
- Bubble(2)
- android屏幕分辨率分类
- android中常用正则表达式
- 礼貌语言和敬称
- 短信监听 接收短信 发送短信 SMS监听
- ANDROID 中 树形结构JSON 的 遍历提取信息
- 修改Android开机画面
- Homebrew安装与使用
- [3月20日的脚本] 给用户配置文件添加Windows小工具 (VBScript)
- 静态链接
- Linux设备驱动开发详解(宋宝华)学习笔记-第一章 设备驱动概述
- Http工具类 同时 post上传 多文件到服务器
- iOS: bundle name, bundle display name, bundle identifier...
- 重新站起来--天空16度蓝