gson解析json

例1(json数据):

String sJson = "[{'id':1,'pId':0,'name':'请求参数','type':1,'required':1,'ordered':'1','mark':'根据节点'},{'id':1455676993000,'pId':1,'name':'Student','type':'void','required':'0','ordered':'','mark':'','value':''},{'id':1455677024000,'pId':1455676993000,'name':'id','type':'String','required':'0','ordered':'','mark':'','value':'0'},{'id':1455677058000,'pId':1455676993000,'name':'name','type':'String','required':'1','ordered':'','mark':'','value':'张三'},{'id':1455677115000,'pId':1,'name':'id','type':'String','required':'1','ordered':'','mark':'','value':''}]";
  Gson gson = new Gson();
        JsonParser parser = new JsonParser();
        JsonArray jsonArray = parser.parse(sJson).getAsJsonArray();
        
        for (int i = 0; i < jsonArray.size(); i++) {
            JsonElement el = jsonArray.get(i);
            ShareParam param = gson.fromJson(el, ShareParam.class);
            System.out.println(param);
        }

例2(map对象):

String json = "{start: 0, pageCount: 2, dataList: [{\"STRPRODUCTCODE\":\"DWJ100\",\"STRVERSIONXZTEXT\":\"初始安装包\",\"STRPRODUCTNAME\":\"对外经贸查询系统\",\"STRVERSIONTYPE\":\"10\",\"STRVERSIONID\":\"V1                                      \",\"STRVERSIONCODE\":\"1.0.2.1018\",\"LINE_NUM\":1,\"STRVERSIONXZ\":\"10\",\"LIMIT\":1,\"NUMSHOWORDER\":1,\"STRVERSIONLOG\":\"修复1个bug,增加2个功能\",\"STRVERSIONTYPETEXT\":\"标准版\",\"DATRELEASEDATE\":\"2013-9-28 10:47:26\",\"STRVERSIONFY\":\"10万人民币\",\"STRSUPPORTOS\":\"Windows 2003/Windows 2008\",\"STRDELFLG\":\"0\"}" +
                ",{\"STRPRODUCTCODE\":\"DWJ100\",\"STRVERSIONXZTEXT\":\"初始安装包\",\"STRPRODUCTNAME\":\"对外经贸查询系统\",\"STRVERSIONTYPE\":\"10\",\"STRVERSIONID\":\"V1                                      \",\"STRVERSIONCODE\":\"1.0.2.1018\",\"LINE_NUM\":1,\"STRVERSIONXZ\":\"10\",\"LIMIT\":1,\"NUMSHOWORDER\":1,\"STRVERSIONLOG\":\"修复1个bug,增加2个功能\",\"STRVERSIONTYPETEXT\":\"标准版\",\"DATRELEASEDATE\":\"2013-9-28 10:47:26\",\"STRVERSIONFY\":\"10万人民币\",\"STRSUPPORTOS\":\"Windows 2003/Windows 2008\",\"STRDELFLG\":\"0\"}" +
                "]}";
        Gson gson = new Gson();
        JsonParser parser = new JsonParser();
        JsonObject jsonObject = parser.parse(json).getAsJsonObject();
        JsonArray jsonArray = jsonObject.getAsJsonArray("dataList");
        
        Type type = new TypeToken<Map<String,String>>() {}.getType();
        
        List<Map<String,String>> list = new ArrayList<Map<String,String>>();
        
        for (int i = 0; i < jsonArray.size(); i++) {
            JsonElement el = jsonArray.get(i);
            Map<String,String> tmp = gson.fromJson(el, type);
            list.add(tmp);
            System.out.println(tmp.get("STRPRODUCTCODE"));
        }
        jsonObject.remove("dataList");
        jsonObject.add("dataList", parser.parse(gson.toJson(list)).getAsJsonArray());
        System.out.println(gson.toJson(jsonObject));

 

 

转载于:https://my.oschina.net/u/1377764/blog/616183

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值