序列化JSON格式数据的解析

  1. 1.使用GSON解析序列化的,用Map映射
  2. //map数据  
  3.   
  4.           String jsonStr="{'1': {'id': '1','code': 'bj','name': '北京','map': '39.90403, 116.40752599999996'},'2': {'id': '2','code': 'sz','name': '深圳','map': '22.543099, 114.05786799999998'},'9': {'id': '9','code': 'sh','name': '上海','map': '31.230393,121.473704'},'10': {'id': '10','code': 'gz','name': '广州','map': '23.129163,113.26443500000005'}}";  
  5.   
  6.           Map<String, City> citys = gson.fromJson(jsonStr, new TypeToken<Map<String, City>>() {}.getType());   
  7.  
  8.           System.out.println(citys.get("1").name+"----------"+citys.get("2").code);  
  9. 2.GSON解析时间类型  见http://blog.csdn.net/tianyaxingge/article/details/6680007

  1.       GsonBuilder gsonb = new GsonBuilder();  
  2.             //Json中的日期表达方式没有办法直接转换成我们的Date类型, 因此需要单独注册一个Date的反序列化类.  
  3.             //DateDeserializer ds = new DateDeserializer();  
  4.             //给GsonBuilder方法单独指定Date类型的反序列化方法  
  5.               //gsonb.registerTypeAdapter(Date.class, ds);  
  6.               
  7.             Gson gson = gsonb.create();  
  8.   
  9.             Account account = gson.fromJson(jobj.toString(), Account.class);  
  10. 3.使用JSONObject的遍历
  11. public String getJson(){
            String jsonString = "{\"FLAG\":\"flag\",\"MESSAGE\":\"SUCCESS\",\"name\":[{\"name\":\"jack \"},{\"name\":\"lucy\"}]}";//json字符串
            try {
                JSONObject result = new JSONObject(jsonstring);//转换为JSONObject
                int num = result.length();
                JSONArray nameList = result.getJSONArray("name");//获取JSONArray
                int length = nameList.length();
                String aa = "";
                for(int i = 0; i < length; i++){//遍历JSONArray
                    Log.d("debugTest",Integer.toString(i));
                    JSONObject oj = nameList.getJSONObject(i);
                    aa = aa + oj.getString("name")+"|";
                    
                }
                Iterator<?> it = result.keys();
                String aa2 = "";
                String bb2 = null;
                while(it.hasNext()){//遍历JSONObject
                    bb2 = (String) it.next().toString();
                    aa2 = aa2 + result.getString(bb2);
                    
                }
                return aa;
            } catch (JSONException e) {
                throw new RuntimeException(e);
            }
        }

    4.Gson其它用法  http://www.jb51.net/article/32547.htm



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值