1. 程式人生 > 程式設計 >gson物件序列化的示例

gson物件序列化的示例

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 執行測試

控制檯輸出:

gson物件序列化的示例

專案下生成student.json檔案

gson物件序列化的示例

以上就是gson物件序列化的示例的詳細內容,更多關於Gson-物件序列化的資料請關注我們其它相關文章!