使用Jackson API将Java对象转换成Json字符串
JSON是 JavaScript Object Notation的缩写 它是一种基于文本的标准格式,显示基于JavaScript对象语法的结构化数据。它通常用于在Web应用程序中传输数据。强烈建议用JSON在服务器和Web应用程序之间传输数据。为了将一个Java对象转换为JSON,可以使用以下两种方法,如下所示。
- GSON
- JACKSON API
使用Jackson API将Java对象转换为JSON。
将Java对象转换为JSON字符串的步骤
第1步: 添加Jackson的jar文件(如果是 Maven项目 ,在pom.xml文件中添加Jackson依赖项
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.3</version>
</dependency>
现在,pom.xml文件被描述如下。
文件:Geeks/pom.xml
第2步: 创建一个POJO(Plain Old Java Object)来转换为JSON
// Java Program to Illustrate Organisation Class
package com.Geeks;
// Importing required classes
public class Organisation {
// Class data members
private String organisation_name;
private String description;
private int Employees;
// Calling getters and setters
// Getter
public String getOrganisation_name()
{
return organisation_name;
}
// Setter
public void
setOrganisation_name(String organisation_name)
{
this.organisation_name = organisation_name;
}
// Getter
public String getDescription() { return description; }
// Setter
public void setDescription(String description)
{
this.description = description;
}
// Getter
public int getEmployees() { return Employees; }
// Setter
public void setEmployees(int employees)
{
Employees = employees;
}
// Method
// Creating toString
@Override public String toString()
{
// Returning attributes of organisation
return "Organisation [organisation_name="
+ organisation_name
+ ", description=" + description
+ ", Employees=" + Employees + "]";
}
}
第3步:创建一个Java类,将组织对象转换为JSON
使用Jackson API的ObjectMapper类将该对象转换为JSON。
// Java Program to Illustrate Object to JSON Conversion
package com.Geeks;
// Importing required classes
import com.Geeks.Organisation;
import java.io.IOException;
import org.codehaus.jackson.map.ObjectMapper;
// Class
public class ObjectToJson {
// Main driver method
public static void main(String[] a)
{
// Creating object of Organisation
Organisation org = new Organisation();
// Insert the data into the object
org = getObjectData(org);
// Creating Object of ObjectMapper define in Jackson
// Api
ObjectMapper Obj = new ObjectMapper();
// Try block to check for exceptions
try {
// Getting organisation object as a json string
String jsonStr = Obj.writeValueAsString(org);
// Displaying JSON String on console
System.out.println(jsonStr);
}
// Catch block to handle exceptions
catch (IOException e) {
// Display exception along with line number
// using printStackTrace() method
e.printStackTrace();
}
}
// Method
// Getting the data to be inserted
// into the object
public static Organisation
getObjectData(Organisation org)
{
// Insert the custom data
org.setName("GeeksforGeeks");
org.setDescription(
"A computer Science portal for Geeks");
org.setEmployees(2000);
// Returning the object
return org;
}
第3步: 执行该过程。
JSON中的输出将如下所示。
输出