zoukankan      html  css  js  c++  java
  • 把复杂json解析成javabean

    工具: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/
  • 相关阅读:
    rsync特性
    01 什么是爬虫
    celery的使用
    redis的使用
    GIT使用大全
    多项式的高级运算
    SP1557 GSS2
    题解 CF997E 【Good Subsegments】
    P3920 [WC2014]紫荆花之恋
    题解 P3750 【[六省联考2017]分手是祝愿】
  • 原文地址:https://www.cnblogs.com/wewill/p/5588735.html
Copyright © 2011-2022 走看看