Android 中使用Gson完成对象的序列化与反序列化

Posted 路宇_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 中使用Gson完成对象的序列化与反序列化相关的知识,希望对你有一定的参考价值。

前言:

  1. JSON(javascript ObjectNotation):是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。
  2. Gson简介:Gson是Google提供的用来在java对象和json数据之间进行映射的java类库,可以将一个JSON字符串转成一个java对象(反序列化),或者将java对象转成一个JSON字符串(序列化)。

android 下build.gradle下引入依赖:
implementation ‘com.google.code.gson:gson:2.8.6’

接下来用一个使用Gson将Student类型对象进行序列化,与反序列
1.Student类进行初始化:

package com.example.spdemo.bean;

public class Student {
    private String name;
    private String sex;
    private int age;
    private String hobby;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getHobby() {
        return hobby;
    }

    public void setHobby(String hobby) {
        this.hobby = hobby;
    }

    public Student(String name, String sex, int age, String hobby) {
        this.name = name;
        this.sex = sex;
        this.age = age;
        this.hobby = hobby;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\\'' +
                ", sex='" + sex + '\\'' +
                ", age=" + age +
                ", hobby='" + hobby + '\\'' +
                '}';
    }
}

2.之后在MainActivity中,进行序列化与反序列化


        Student student = new Student("小张","男",20,"读书");
        //声明Gson对象
        Gson gson = new Gson();
        //序列化student对象  序列化:将对象转化为字节数组
        String s = gson.toJson(student);
        System.out.println(s);

        //反序列化   反序列化:将字节数组重新恢复成对象
        Student s1 = gson.fromJson(s,Student.class);
        System.out.println("姓名:"+s1.getName()+"性别:"+s1.getSex()+"年龄:"+s1.getAge()+"爱好:"+s1.getHobby());

后台输出:
在这里插入图片描述
以上就是简单的使用Gson进行序列化与反序列化。

以上是关于Android 中使用Gson完成对象的序列化与反序列化的主要内容,如果未能解决你的问题,请参考以下文章

Android 中使用Gson进行list集合的序列化与反序列化

Gson关于抽象类的序列化与反序列化

Android Gson 使用详解

Android开发中混淆后Gson序列化反序列化的那些坑

Kotlin中Json的序列化与反序列化 -- GsonMoshi

Kotlin中Json的序列化与反序列化 -- GsonMoshi