json解析map内含list,list内又含map这种结构


法门就是:见到{aa:bb}用map装,见到[aa,bb]用list装就行了!

jquery中获取到json串后,若是map请这样:

                  var map = eval("("+data2+")");
                  var data = map.data;
                  for(var key in data){
                   alert(key+':'+data[key]);
                  };    

注意要先eval,不然无法遍历的!


json串:

    {  
        "user_id": 5300,   
        "flag": 0,   
        "configs": [  
            {  
                "user_id": 5300,   
                "config_item_id": 1015,   
                "type": 0  
            },   
            {  
                "user_id": 5300,   
                "config_item_id": 1016,   
                "type": 0  
            }  
        ]  
    }  


新建一个实体类:

private int user_id
private int flag
private List<Map> config 

fastjson版本:

    HashMap jsonMap = JSON.parseObject(jsonData, HashMap.class);  
    List<HashMap> configDataList = (List<HashMap>)jsonMap.get("configs");  
    for(HashMap configData : configDataList ){//这行出错  
        int roleId = (Integer)configData.get("type");  
        System.out.println("config.type:" + roleId);  
    }  


jackson版本:

DeviceResult result = mapper.readValue(rs, DeviceResult.class);
List<Map> dataList =  result.getData();
Map resultMap = dataList.get(0);
imei = (String) resultMap.get("carnum");




补:Fastjson序列化map时,保留map的进出栈顺序的方法

JSONObject jsonObject = new JSONObject(true);
jsonObject.put(“key”, 你的map对象);



  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值