当前位置 : 主页 > 编程语言 > java >

gson对象序列化的示例

来源:互联网 收集:自由互联 发布时间:2021-04-10
1.编写核心类 MainApp: package com.yiidian.gson;import com.google.gson.Gson;import com.google.gson.GsonBuilder;import java.io.*;public class MainApp { public static void main(String args[]) { MainApp tester = new MainApp(); try { Stud

1.编写核心类

MainApp:

package com.yiidian.gson;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

import java.io.*;


public class MainApp {

  public static void main(String args[]) {

    MainApp tester = new MainApp();
    try {
      Student student = new Student();
      student.setAge(10);
      student.setName("eric");
      tester.writeJSON(student);
      Student student1 = tester.readJSON();
      System.out.println(student1);
    }
    catch(FileNotFoundException e) {
      e.printStackTrace();
    }
    catch(IOException e) {
      e.printStackTrace();
    }
  }

  //把Java对象存储student.json文件
  private void writeJSON(Student student) throws IOException {
    GsonBuilder builder = new GsonBuilder();
    Gson gson = builder.create();
    FileWriter writer = new FileWriter("student.json");
    writer.write(gson.toJson(student));
    writer.close();
  }

  //从student.json文件读取Java对象
  private Student readJSON() throws FileNotFoundException {
    GsonBuilder builder = new GsonBuilder();
    Gson gson = builder.create();
    BufferedReader bufferedReader = new BufferedReader(
        new FileReader("student.json"));

    Student student = gson.fromJson(bufferedReader, Student.class);
    return student;
  }
}

class Student {
  private String name;
  private int age;
  public Student(){}

  public String getName() {
    return name;
  }

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

  public int getAge() {
    return age;
  }

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

  public String toString() {
    return "Student [ name: "+name+", age: "+ age+ " ]";
  }
}

2 运行测试

控制台输出:

项目下生成student.json文件

以上就是gson对象序列化的示例的详细内容,更多关于Gson-对象序列化的资料请关注易盾网络其它相关文章!

网友评论