美文网首页
Android Gson

Android Gson

作者: 黄培忠 | 来源:发表于2017-03-08 14:42 被阅读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);

    相关文章

      网友评论

          本文标题:Android Gson

          本文链接:https://www.haomeiwen.com/subject/crubgttx.html