解析json字符串中的map信息。

例如:{1:100,2:100,3:100,4:100,5:100,6:100,7:100,8:100}
解析时需要用到阿里巴巴的一个内库(fastjson-1.1.26.jar),方法如下:
protected HashMap<Integer, Integer> getStringToMap(String jsonstr) {
HashMap<Integer, Integer> map = null ;
if (!TextUtils.isEmpty(jsonstr)) {
map = (HashMap<Integer, Integer>) JSON.parseObject(jsonstr,HashMap.class);
}
return map;
}
方法: JSON.parseObject(json字符串,对应类.class);
注意: 这个对应类,只能是基本类,例如String,Integer等。如果是自定义的实体类。
需要以如下方式解析:
protected HashMap<Integer, Chip> getStringToChipMap(String jsonstr) {
HashMap<Integer, Chip> result = new HashMap<Integer, Chip>();
if (!TextUtils.isEmpty(jsonstr)) {
HashMap<Integer, JSONObject> chipmap = (HashMap<Integer, JSONObject>) JSON.parseObject(jsonstr,HashMap.class);
Iterator<Integer> ownJar_i = chipmap.keySet().iterator();
while(ownJar_i.hasNext()){
int key = ownJar_i.next();
JSONObject value = chipmap.get(key);
String str = value.toString();
Chip chip = JSON.parseObject(str,Chip.class);
result.put(key, chip);
}
}
return result;
}
其中Chip为自定义实体类,只能先将json字符串中的map数据先转化成JSONObject,
JSONObject.toStirng -> 额外的json字符串。再重复利用JSON.parseObject(json字符串,实体类.class);该方法。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值