用Google提供的Gson解析JSON数据

解析Json也就是触类旁通的一个过程,废话不说,比如我们要解析一个下面这种的Json,我们用的是Google的一个开源Gson:

String json = {
"a":"100",
"b":[{"b1":"b_value1","b2":"b_value2"}{"b1":"b_value1","b2":"b_value2"}],
"c":{"c1":"c_value1","c2":"c_value2"}
"points":[[534.654564,566.546654,4856.5454656],[534.654564,566.546654,4856.5454656],
[534.654564,566.546654,4856.5454656],[534.654564,566.546654,4856.5454656]]
}

首先我们需要定义一个序列化的Bean,这里采用内部类的形式,看起来会比较清晰一些:

public class JsonBean {
   public String a;
   public List<B> b;
   public C c;
   public List<List<Double>> points;
 
   public static class B {
      public String b1;
      public String b2;
   }
   public static class C {
      public String c1;
      public String c2;
   }
}
//Bean里边的get和set方法就省略不写了,规范点还是要加上的

定义JavaBean需要注意几点:
    1、内部嵌套的类必须是static的,不然解析会出错;
    2、类里面的属性名必须跟Json字段里面的Key是一模一样的;
    3、内部嵌套的用[]括起来的部分是一个List,List里边是B对象,所以定义为 public List<B> b;
    4、内部嵌套的用{}括起来的是直接的C对象,所以定义为 public C c;
    5、当里边的数据是[[***,***,***]],这个时候就用List<List<Double>> points;Double也即double,不是对象哦。

当这些都弄好的时候,就到我们解析的main方法里边,如下。
         Gson gson = new Gson(); 
         JsonBean jsonBean = gson.fromJson(json, JsonBean.class);
    如果需要解析的Json嵌套了很多层,同样可以可以定义一个嵌套很多层内部类的Bean,需要细心的对照Json字段来定义哦。

*参考http://www.cnblogs.com/jxgxy/p/3677256.html

转载于:https://my.oschina.net/AmosWang/blog/809270

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值