1. 使用标准的Json对象,如org.json.JSONObject json = new org.json.JSONObject(yourJsonString);然后通过get(keyString)逐个解析 
2. 构造一个类MyObject,根据你提出的问题,其中添加 String name,List<MyObject> child, 两个属性,增加getter setter 方法,通过com.google.gson.Gson进行解析。步骤如下: 
String jsonStr = "{'name':'111','child':[{'name':'222','child':[{'name':'333'}]},{'name':'2221'}]}"; 
Gson gson = new Gson(); 
MyObject obj = gson.fromJson(jsonStr,MyObject.class);

 import java.util.List;

 import com.google.gson.Gson;

 public class MyObject {
String name;
List<MyObject> child;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<MyObject> getChild() {
return child;
}
public void setChild(List<MyObject> child) {
this.child = child;
} public static void main(String[] args) {
String jsonStr = "{'name':'111','child':[{'name':'222','child':[{'name':'333'}]},{'name':'2221'}]}";
Gson gson = new Gson();
MyObject obj = gson.fromJson(jsonStr,MyObject.class);
System.out.println(obj.getChild().get(0).getName()); // --222
System.out.println(obj.getChild().get(1).getName()); // --222
System.out.println(obj.getChild().get(0).getChild().get(0).getName()); // --333
}
}

引自http://www.iteye.com/problems/88002  flashsnow 的回答,非常感谢

JAVA如何解析多层json数据的更多相关文章

  1. C#解析多层Json数据

    [事件回顾] 今天在做一个小项目的时候,想获取一下位置,IP地址,然后随便在网上找了一个api调用 https://apis.map.qq.com/ws/location/v1/ip 数据如下: 如果 ...

  2. Gson解析复杂Json数据

    背景                                                                   json是一种数据格式,便于数据传输.存储.交换. gson是 ...

  3. 解析天气预报JSON数据

    解析天气预报JSON数据 JSON字符串 constjson2 = '{' + #13#10 +'"error":0,' + #13#10 +'"status" ...

  4. mormot解析天气预报JSON数据

    mormot解析天气预报JSON数据 uses SynCommons; constjson2 = '{' + #13#10 +'"error":0,' + #13#10 +'&qu ...

  5. java android使用Gson解析泛型json数据

    那就直接开始吧. 在我们获取服务器返回的json数据有时候会出现这种情况,比如: {"body":{"attrName":"feed",&q ...

  6. Java解析复杂JSON数据的一种方法

    1.需解析JSON数据: { "code": 0, "message": "success", "sid": " ...

  7. 【转】java 解析多层json

    java分别解析下面两个json字符串 package jansonDemo; import com.alibaba.fastjson.JSON; import com.alibaba.fastjso ...

  8. Java:HttpPost 传输Json数据过长使用HttpServletRequest解析

    直接上代码 /** * 测试生成json数据 */ @Test public void synYxGoodsInfoTest() { try { String url = "http://1 ...

  9. 模拟QQ侧滑控件 实现三种界面切换效果(知识点:回调机制,解析网络json数据,fragment用法等)。

    需要用到的lib包 :解析json  gson包,从网络地址解析json数据成String字符串的异步网络解析工具AsyncHttpClient等 下载地址:点击下载 Xlistview 下拉上拉第三 ...

随机推荐

  1. 转载Entity Framework 4.1 DbContext使用记之三——如何玩转实体的属性值?

    Entity Framework 4.1 DbContext使用记之一——如何查找实体? DbSet.Find函数的使用与实现 Entity Framework 4.1 DbContext使用记之二— ...

  2. JQuery事件处理的注意事项

    1.jQuery 名称冲突 jQuery 使用 $ 符号作为 jQuery 的简介方式. 某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号. jQuery 使用 ...

  3. Packetbeat协议扩展开发教程(3)

    原文链接:http://elasticsearch.cn/article/54 书接上回:http://elasticsearch.cn/article/53 前面介绍了Packetbeat的项目结构 ...

  4. python3使用PyMysql连接mysql数据库

    python语言的3 x完全不向前兼容,导致我们在python2 x中可以正常使用的库,到了python3就用不了了 比如说mysqldb目前MySQLdb并不支持python3 python语言的3 ...

  5. JavaScript要点(十) HTML DOM - 改变 HTML

    HTML DOM 允许 JavaScript 改变 HTML 元素的内容. A.改变 HTML 输出流 JavaScript 能够创建动态的 HTML 内容: 今天的日期是: Thu Oct 13 2 ...

  6. The Hundred Greatest Theorems

    The Hundred Greatest Theorems The millenium seemed to spur a lot of people to compile "Top 100& ...

  7. 实现windows和linux互传文件

    http://www.cnblogs.com/ylan2009/archive/2012/01/12/2321126.html 尝试从windows xp向ubuntu11.10传文件 ubuntu使 ...

  8. POJ 2003 Hire and Fire (Tree)

    题目:Hire and Fire 题目翻译成数据结构就是:建树,加结点,删除结点,打印结点.只有删除结点稍微复杂点,因为删除设计掉树的调整. 首先要考虑树怎么存储才能使解题更顺手. 1.我们要存储每个 ...

  9. [MODx] 7. MIGX DB

    MODx provides a really unfriendly way to work with xPDO class. What I means is you need to define XM ...

  10. android学习日记06--View视图

    一.android 界面开发 1.三个重要的类:View视图.Canvas画布.Paint画笔2.android 界面开发常用三种视图 View            --只能在主线程中更新,没有缓存 ...