java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Gson-对象序列化

gson对象序列化的示例

作者:一点教程

本文介绍如何将Java对象序列化为Json文件,然后读取该Json文件读取回Java对象。在下面的示例中,我们创建了一个Student类。然后生成一个student.json文件,该文件将具有Student对象的json数据。

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-对象序列化的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文