0
点赞
收藏
分享

微信扫一扫

Android-第十二节JSON解析第三方框架Gson

天蓝Sea 2022-03-12 阅读 65

目录


一、Gson简介

二、Gson使用方法

1.导入依赖包:

implementation 'com.google.code.gson:gson:2.9.0'

2.同步
在这里插入图片描述

三、Gson解析数据

3.1Gson解析JSON对象

案例1:

1.修改端口,并且创建实体类(实体类变量名和json数据中key对应)
在这里插入图片描述
2.与json数据对应
在这里插入图片描述
3.创建Gson对象,然后获取实体类对应的数据

     Gson gson=new Gson();             //创建Gson对象
     Person person=gson.fromJson(result,Person.class);//第一个值传json数据,第二个值传解析的类型

在这里插入图片描述
4.运行结果:
在这里插入图片描述
5.可采用debug模式
在这里插入图片描述
6.对比之前用json方法解析步骤

  //解析json对象数据
                                    JSONObject jsonObject=new JSONObject(finalResult);

                                    //通过key来获取结果
                                    String name=jsonObject.getString("name");
                                    Integer age=jsonObject.getInt("age");
                                    String sex=jsonObject.getString("sex");
                                    Log.i("Main","解析之后的数据  name: "+name+"age: "+age+"sex: "+sex);

可以看出Gson解析省去了这些通过对应字段去取数据的步骤,而是可以直接帮我们解析实体类对应字段的值

3.2Gson解析JSON对象嵌套

案例2:

1.创建对应的实例类:
在这里插入图片描述
核心代码:

//json数据:{
//“age”:20,
//“name”:“耀阳”,
//“isboy”:true,
//“address”:
//        {
//“province”:“湖南省”,
//“city”:“长沙市”
//        }
//    }
    public String name;
    public int age;
    public String sex;
    public Address address;
    public class Address{
        public String province;
        public String city;
    }

2.activity代码只需要修改接口,其他的都不用改
在这里插入图片描述

3.3Gson解析JSON数组

案例3:

我们可以看到这是一个字符串数组,不是一个json对象,那我们就用一个字符串数组来接收,解析方法不变

在这里插入图片描述
核心代码:

Gson gson=new Gson();
String[] strings=gson.fromJson(result,String[].class);

3.4Gson解析json对象数组

案例4:

1.创建新的实体类
在这里插入图片描述
核心代码:

public class Person2 {
//    [
//    { "id":"001","age":30,"name":"刘伟", "isboy":true },
//    { "id":"002","age":12,"name":"微凉", "isboy":false },
//    { "id":"003","age":25,"name":"阿欢", "isgirl":false },
//            ]
    public String id;
    public int age;
    public String name;
    public boolean isboy;
}

在这里插入图片描述
代码:

Gson gson=new Gson();
List<Person2> list=gson.fromJson(result, new TypeToken<ArrayList<Person2>>(){}.getType());

3.5Gson解析json对象嵌套JSON对象数组

案例5:

1.创建实体类:
在这里插入图片描述

核心代码:

public class Person3 {
    public String grade;
    public String classname;
    public ArrayList<Students> students=new ArrayList<>();
    public class Students{
        public String id;
        public int age;
        public String name;
        public boolean isstudent;
    }
}

在这里插入图片描述
核心代码:

Gson gson=new Gson();
Person3 person3=gson.fromJson(result,Person3.class);

3.6总结

四、插件推荐

GsonFormat一键生成实体类
在这里插入图片描述
1.创建实体类
在这里插入图片描述
2.将json代码复制进去,点击确定:
在这里插入图片描述
3.自动生成所需代码:
在这里插入图片描述
4.点击运行结果:
在这里插入图片描述
大家有没有发现现在越来越方便了 从一开始网络请求需要手写Thread线程,到json代码解析,再到现在gson对json进行解析 加油!越来越多的框架值得我们去学习冲冲冲!

举报

相关推荐

0 条评论