工具:fastjson1.2.9
用其他工具也行,比如json-lib、gson
用法都差不多
先来一段json
{
"page": {
"pagenow": "1",
"pagesize": "20"
},
"file": {
"name": "jpg"
},
"catalogs": [
{
"id": "1"
},
{
"id": "2"
}
]
}

这个json里面有对象也有数组

JSON—javabean

思路:

先得到JSONObject

然后用getString(key)拿到要解析的JSON片段

然后用JSON.parseObject(要解析的JSON片段,class)得到javabean

		String json="{\"page\":{\"pagenow\":\"1\",\"pagesize\":\"20\"},\"file\":{\"name\":\"jpg\"},\"catalogs\":[{\"id\":\"1\"},{\"id\":\"2\"}]}";
JSONObject obj=JSON.parseObject(json);
Page page=JSON.parseObject(obj.getString("page"),Page.class);

JSON—List<bean>

思路:

先得到JSONObject

然后用getString(key)拿到要解析的JSON片段

然后用JSON.parseArray(要解析的JSON片段,class)得到List<javabean>

		String json="{\"page\":{\"pagenow\":\"1\",\"pagesize\":\"20\"},\"file\":{\"name\":\"jpg\"},\"catalogs\":[{\"id\":\"1\"},{\"id\":\"2\"}]}";
JSONObject obj=JSON.parseObject(json);
List catalogList=JSON.parseArray(obj.getString("catalogs"), Catalog.class);//得到List
Catalog[] catalogArr=catalogList==null?null:catalogList.toArray(new Catalog[0]);//得到Catalog[]

注意

1.javabean必须有空参数的构造器

2.javabean的属性要有setter方法

查看原文:http://139.129.55.235/2016/05/31/%e6%8a%8a%e5%a4%8d%e6%9d%82json%e8%a7%a3%e6%9e%90%e6%88%90javabean/

把复杂json解析成javabean的更多相关文章

  1. C# 将 Json 解析成 DateTable

    #region 将 Json 解析成 DateTable /// /// 将 Json 解析成 DateTable. /// Json 数据格式如: /// {table:[{column1:1,co ...

  2. SpringMVC将通过ajax发送的 json数据封装成JavaBean

    SpringMVC将通过ajax发送的 json数据封装成JavaBean 通过ajax发送的 json数据封装成JavaBean对发送时有如下要求: 1.发送的数据类型必须时UTF-8 2.发送的必 ...

  3. FastJson将json解析成含有泛型对象,内部泛型对象再次解析出错的解决办法(Android)

    折腾小半天的问题,这里先感谢一下深圳的小伙子,远程帮我搞,虽然也没有搞出来==========FUCK 声明:Android开发下发生此异常,Java开发下并不会有这个问题 异常重现 简单说一下抛出异 ...

  4. c#将前端传来的Json解析成对象

    描述:因工作中需要将C#中的Json字符串转换为对象,对此记录下. 解决办法: 1.前端传过来的Json字符串,OrderAppModuleJson即前端传递到后端的Json字符串 string st ...

  5. python小练--使用正则表达式将json解析成dict

    练习python语法,自己实现了一个简单的解析json字符,存为dict字典对象. { "id":12, "name":"jack", &q ...

  6. JSONHelp json解析成类,类解析成string

    using System; using System.Collections.Generic; using System.IO; using System.Runtime.Serialization. ...

  7. java中常见的json解析方法、库以及性能对比

    常见的json解析有原生的JSONObject和JSONArray方法,谷歌的GSON库,阿里的fastjson,还有jackson,json-lib. Gson(项目地址:https://githu ...

  8. 通俗易懂的 JSon解析处理

    1.主要用到的类: 主要用到了JavaScriptSerializer类,该类在System.Web.Script.Serialization命名空间(在System.Web.Extensions.d ...

  9. 将JSON转成DataSet(DataTable)

    方法1: /// <summary> /// 将JSON解析成DataSet只限标准的JSON数据 /// 例如:Json={t1:[{name:'数据name',type:'数据type ...

随机推荐

  1. js中NAN、NULL、undefined的区别

    NaN:保留字(表明数据类型不是数字) undefined:对象属性或方法不存在,或声明了变量但从未赋值.即当你使用了对象未定的属性或者未定义的方法时或当你声明一个变量,但你确从未对其进行赋值,便对其 ...

  2. redis + 主从 + 持久化 + 分片 + 集群 + spring集成

    Redis是一个基于内存的数据库,其不仅读写速度快,每秒可以执行大约110000的写操作,81000的读取操作,而且其支持存储字符串,哈希结构,链表,集合丰富的数据类型.所以得到很多开发者的青睐.加之 ...

  3. ligerUI Tree 实例 代码

    http://www.oschina.net/code/snippet_1762525_47819#68813

  4. iOS $299刀企业证书申请的过程以及细节补充

    最近申请了iOS的 299刀企业证书,相关过程有些问题,分享出来,以便后来人参考. 申请的过程我主要参考了别人以前的文章,链接如下: 1.https://developer.apple.com/cn/ ...

  5. Script Task 引用 package variable

    Script Task 能够使用C#代码进行编程,许多复杂的逻辑都可以使用C# 脚本来实现,不仅灵活,而且强大. 1,能够传递package variable 给 Script Task ,并且Scr ...

  6. 转载:css3 content 生成内容

    本文地址:http://www.w3cplus.com/solution/css3content/css3content.html 这篇文章挺不错的,建议看一下. content一般和:before, ...

  7. CSS实战中经常出现的问题。

    如果你把这些当做文章来看,那你始终是学不会,而是应该当做手册来看,这些也是自己在写网站遇到的问题.转载请出处. 追梦子前端博客. 1. logo添加内容给h1设置text-index:-9999px的 ...

  8. 反质数问题,求不大于n的最大反质数

    反质数:设f(n)表示n个约数的个数,如果对于任意x有0<x<n, f(x) < f(n),那么n就是一个反质数 我们都知道对于任意一个数n,都可以用质数乘积的形式表示出来:x = ...

  9. 2014牡丹江网络赛ZOJPretty Poem(暴力枚举)

    /* 将给定的一个字符串分解成ABABA 或者 ABABCAB的形式! 思路:暴力枚举A, B, C串! */ 1 #include<iostream> #include<cstri ...

  10. 《BI那点儿事》Microsoft 决策树算法——找出三国武将特性分布,献给广大的三国爱好者们

    根据游戏<三国志11>武将数据,利用决策树分析,找出三国武将特性分布.其中变量包括统率.武力.智力.政治.魅力.身分.变量说明:统率:武将带兵出征时的部队防御力.统帅越高受到普通攻击与兵法 ...