使用GSON将Json字符串转换为Java对象
JSON代表 JavaScript对象符号。 它是一种基于文本的标准格式,显示基于JavaScript对象语法的结构化数据。它通常用于在Web应用程序中传输数据。强烈建议用JSON在服务器和Web应用程序之间传输数据。
要将Java对象转换成JSON,可以使用以下方法:
- GSON: 它是一个开源的Java库,用于将Java对象序列化和反序列化为JSON。
- GSON API
在本文中,使用GSON将一个预定义的JSON字符串转换为Java对象。
示例:
输入:
{
"organization_name" : "GeeksforGeeks",
"description" : "A computer Science portal for Geeks",
"Employee" : "2000"
}
输出
组织 [organization_name=GeeksforGeeks, description=A computer Science portal for Geeks, Employees=0]
输入:
{
"Student_name" : "XYZ",
"Organisation_name" : "GeeksForGeeks"
"Roll_No" :"1"
}
输出:
Student [Student_name=XYZ, Organisation_name=GeeksForGeeks, Roll_no=1]
操作步骤如下:
- 添加Jackson的jar文件(如果是Maven项目,在pom.xml文件中添加Gson依赖项)
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.6.2</version>
</dependency>
下面是显示这一步骤的截图:-
- 创建一个POJO(Plain Old Java Object),将其转换为JSON
package GeeksforGeeks.Geeks;
public class Organisation {
private String organisation_name;
private String description;
private int Employees;
// Calling getters and setters
public String getOrganisation_name()
{
return organisation_name;
}
public void setOrganisation_name(String organisation_name)
{
this.organisation_name = organisation_name;
}
public String getDescription()
{
return description;
}
public void setDescription(String description)
{
this.description = description;
}
public int getEmployees()
{
return Employees;
}
public void setEmployees(int employees)
{
Employees = employees;
}
// Creating toString
@Override
public String toString()
{
return "Organisation [organisation_name="
+ organisation_name
+ ", description="
+ description
+ ", Employees="
+ Employees + "]";
}
}
下面是显示这一步骤的截图:-
- 创建一个字符串变量来存储Json字符串:
注意: 这个Json字符串不应该是一个简单的Json字符串。在将JSON字符串传入GSON对象之前,要对其进行预处理并添加斜杠。
预处理的例子:
初始JSON字符串:
{"organization_name" : "GeeksforGeeks", "description" : "A computer Science portal for Geeks", "Employee" : "2000"}
预处理的JSON字符串:
{ "organization_name\" :\GeeksforGeeks\", \"description\" :\A computer Science portal for Geeks\", \"Employee\" 。\"2000\"}
- 创建一个Java类,将Json转换为Organisation对象
package GeeksforGeeks.Geeks;
import com.google.gson.Gson;
public class JsonToObject {
public static void main(String[] args)
{
// Creating object of Organisation
Organisation org = new Organisation();
// Converting json to object
org = getOrganisationObject();
// Displaying object
System.out.println(org);
}
private static Organisation getOrganisationObject()
{
// Storing preprocessed json(Added slashes)
String OrganisationJson
= "{\"organisation_name\"
: \"GeeksforGeeks\",
\"description\"
: \"A computer Science portal for Geeks\",
\"Employee\"
: \"2000\"}";
// Creating a Gson Object
Gson gson = new Gson();
// Converting json to object
// first parameter should be preprocessed json
// and second should be mapping class
Organisation organisation
= gson.fromJson(OrganisationJson,
Organisation.class);
// return object
return organisation;
}
}
以下是显示这一步骤的截图:-
- 执行程序
输出:
Organisation [organisation_name=GeeksforGeeks, description=A computer Science portal for Geeks, Employees=0]