gson对象序列化的示例
更新时间:2020年11月02日 14:50:16 作者:一点教程
本文介绍如何将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-对象序列化的资料请关注脚本之家其它相关文章!
您可能感兴趣的文章:
- kotlin gson反序列化默认值失效深入讲解
- java如何利用FastJSON、Gson、Jackson三种Json格式工具自定义时间序列化
- GSON实现Java对象的JSON序列化与反序列化的实例教程
- Java中Gson的使用详解
- Java实现操作JSON的便捷工具类完整实例【重写Google的Gson】
- Java中利用gson解析Json实例教程
- Gson解析空字符串发生异常的处理方法
- Android利用Gson解析嵌套多层的Json的简单方法
- GSON实现Java对象与JSON格式对象相互转换的完全教程
- 举例讲解Java的JSON类库GSON的基本用法
- Java的JSON格式转换库GSON的初步使用笔记
- Gson如何序列化内部类
相关文章
Java中FilterInputStream和FilterOutputStream的用法详解
这篇文章主要介绍了Java中FilterInputStream和FilterOutputStream的用法详解,这两个类分别用于封装输入和输出流,需要的朋友可以参考下2016-06-06Spring Boot 中application.yml与bootstrap.yml的区别
其实yml和properties文件是一样的原理,且一个项目上要么yml或者properties,二选一的存在。这篇文章给大家介绍了Spring Boot 中application.yml与bootstrap.yml的区别,感兴趣的朋友一起看看吧2018-04-04
最新评论