GSON 序列化与反序列化使用说明

位置:首页>文章>详情   分类: 教程分享 > Java教程   阅读(1292)   2023-03-28 11:29:14

前言

学习使用Google GSON库将Java对象序列化为JSON表示形式,并将JSON字符串反序列化为等效的Java对象。GSON提供简单的toJson()fromJson()方法将Java对象转换为JSON,反之亦然。
GSON
GSON

使用GsonBuilder创建Gson具有自定义配置的对象,例如漂亮的打印
//Gson gson = new Gson();
Gson gson = new GsonBuilder().setPrettyPrinting().create();
		
Employee emp = new Employee(1001, "Lokesh", "Gupta", "howtodoinjava@gmail.com");

String jsonString = gson.toJson(emp);

Employee empObject = gson.fromJson(jsonString, Employee.class);

1.依赖性

Maven依赖。访问maven存储库以获取最新版本。
$title(pom.xml)
<dependency>
  <groupId>com.google.code.gson</groupId>
  <artifactId>gson</artifactId>
  <version>2.8.5</version>
</dependency>
Gradle依赖。
<dependency>
dependencies {
  implementation 'com.google.code.gson:gson:2.8.5'
}

2.序列化 - 使用Gson编写JSON

Gson上下文中的序列化意味着将Java对象转换为其JSON表示。为了进行序列化,我们需要一个处理转换的Gson对象。接下来,我们需要调用函数toJson()并传递该Employee对象。
Employee emp = new Employee(1001, "Lokesh", "Gupta", "howtodoinjava@gmail.com");
         
Gson gson = new Gson();
 
String jsonString = gson.toJson(emp);
 
System.out.println(jsonString);
程序输出:
{
   "id":1001,
   "firstName":"Lokesh",
   "lastName":"Gupta",
   "email":"howtodoinjava@gmail.com"
}

2.反序列化 - 使用Gson读取JSON

Gson上下文中的反序列化意味着将JSON字符串转换为等效的Java对象。为了进行反序列化,我们需要一个Gson对象并从json()调用函数并在解析完成后传递两个参数,即JSON字符串和期望的java类型。
String jsonString = "{'id':1001, 'firstName':'Lokesh', 'lastName':'Gupta', 'email':'howtodoinjava@gmail.com'}";
         
Gson gson = new Gson();
 
Employee empObject = gson.fromJson(jsonString, Employee.class);
 
System.out.println(empObject);
程序输出:
Employee [id=1001, firstName=Lokesh, lastName=Gupta, email=howtodoinjava@gmail.com]
 
标签: GSON Java
地址:https://www.leftso.com/article/654.html

相关阅读

前言学习使用Google GSON库将Java对象序列化为JSON表示形式,并将JSON字符串反序列化为等效的Java对象
前言在这个Gson @SerializedName示例中,学习在序列化和反序列化过程中更改json和java对象之间的字段名称
前言在Gson中实现的默认行为是忽略空对象字段
       学习使用Gson JsonReader类,这是一个基于拉的流式JSON解析器,它有助于将JSON作为标记流来读取​GSON1. JsonReader是什么JsonReader是流式...
前言值得一提的是JSON只有数组数据类型
Java通过sourceafis比对指纹图片的相似度判断指纹,sourceafis,Java指纹图片
备受期待的Java Enterprise Edition 8发布了两个令人兴奋的新API(JSON-Binding 1.0和Java EE Security 1.0)并改进了当前的API(JAX...
前言       在本教程中,我们将了解Retrofit 的基础知识以和创建一个android HTTP client请求REST API
Java编程之spring boot FastDFS Java client使用,Java编程,FastDFS Java客户端
Java编程之java static关键字,Java编程,static关键字