leftso 125 0 2019-08-17 17:30:31

文章位置:左搜> 编程技术> Java基础编程技术> 正文

前言

学习使用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]