Android Gson

2017-03-08  本文已影响0人  黄培忠

现在大多数客户端与服务器之间交互的数据格式是json,我们在开发中需要去解析json数据,于是google为我们提供了json解析库—gson

在build.gradle中引入库:compile 'com.google.code.gson:gson:2.6.2'

单个对象

我们先看一个对象的简单用法,假设json数据的格式是这样的:

{

      “id”:1,

      ”number“:2,

      “date”:”2017-03-08“

}

这样我们需要定义对应的一个bean类:

public class Bean{

      public int id;

      public int number;

      public String date;

}

使用起来只需要如下几行代码:

public static final String JSON_DATA = "...";

Bean bean = new Gson().fromJson(JSON_DATA , Bean.class);

对象的嵌套

我们假设返回的数据如下:

{

      "id":100,

      "number":200,

      "date":"2017-03-08",

         "people":{

               "id":200,

               "name":"xiaoming"

         }

}

那么对象的定义如下:

public class Bean_one{

      public int id;

      public int number;

      public String date;

public class Bean_two{

      public int id;

      public String name;

      }

}

对象数组

我们假设返回的json数组如下:

[{

      "id": 100,

      "number": 10,

      "date": "2017-03-08"

},

{

      "id": 200,

      "number": 20,

      "date": "2017-03-08"

}]

这样解析的方法有两种:

1、解析成数组:

public static final String JSON_DATA = "...";

Bean [ ] beans = new Gson().fromJson(JSON_DATA,Bean [ ].class);

//这时候想转成List的话调用以下方法

//List<Bean> beanList = Arrays.asList(beans);

2、解析成List:

public static final String JSON_DATA = "...";

Type listType = new TypeToken<ArrayList<Bean>>(){}.getType();

ArrayList<Bean>beans = new Gson().fromJson(JSON_DATA, listType);

上一篇下一篇

猜你喜欢

热点阅读