使用Jackson API将Java对象转换成Json字符串

使用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

使用Jackson API将Java对象转换成Json字符串

第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中的输出将如下所示。

输出

使用Jackson API将Java对象转换成Json字符串

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程