gson对象序列化的示例
作者:一点教程 时间:2023-11-25 08:54:28
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文件
来源:http://www.yiidian.com/gson/gson-object-serialize.html
标签:gson,对象,序列化
0
投稿
猜你喜欢
java实现简单斗地主(看牌排序)
2023-09-12 14:42:40
C#中利用代理实现观察者设计模式详解
2022-02-25 17:49:36
C#多线程学习之(四)使用线程池进行多线程的自动管理
2021-07-17 10:04:43
关于Maven混合配置私有仓库和公共仓库的问题
2021-10-15 20:30:51
C#通过属性名称获取(读取)属性值的方法
2023-10-10 11:49:06
Android使用Room操作数据库流程详解
2023-03-21 21:00:31
详解Android TextView属性ellipsize多行失效的解决思路
2022-03-02 16:00:32
如何在c语言下关闭socket
2021-12-26 10:22:46
C#将Unicode编码转换为汉字字符串的简单方法
2021-06-05 02:11:38
Java之OutputStreamWriter流案例详解
2023-11-11 13:03:55
C#中list用法实例
2022-07-02 13:57:00
java使用静态关键字实现单例模式
2023-11-29 13:37:33
浅谈Java安全之C3P0的使用
2022-06-06 00:22:11
Java实现简单班级管理系统
2023-01-07 16:20:29
Android中View跟随手指移动效果
2021-07-26 00:21:18
java图片缩放实现图片填充整个屏幕
2021-06-09 18:30:07
Spring Boot JPA Repository之existsBy查询方法失效的解决
2023-01-27 18:36:10
C# 开发(创蓝253)手机短信验证码接口的实例
2023-05-22 11:15:54
java 中模式匹配算法-KMP算法实例详解
2022-01-30 09:08:08
属于自己的Android对话框(Dialog)自定义集合
2022-08-03 23:09:21