软件编程
位置:首页>> 软件编程>> java编程>> gson对象序列化的示例

gson对象序列化的示例

作者:一点教程  发布时间:2023-11-25 08:54:28 

标签: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对象序列化的示例

来源:http://www.yiidian.com/gson/gson-object-serialize.html

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com