关闭

把复杂json解析成javabean

103人阅读 评论(0) 收藏 举报
工具: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/
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:27447次
    • 积分:872
    • 等级:
    • 排名:千里之外
    • 原创:57篇
    • 转载:2篇
    • 译文:0篇
    • 评论:2条
    友情链接
    文章分类
    最新评论