使用GSON将Json字符串转换为Java对象

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

下面是显示这一步骤的截图:-

使用GSON将Json字符串转换为Java对象

  • 创建一个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 + "]";
    }
}

下面是显示这一步骤的截图:-

使用GSON将Json字符串转换为Java对象

  • 创建一个字符串变量来存储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;
    }
}

以下是显示这一步骤的截图:-

使用GSON将Json字符串转换为Java对象

  • 执行程序

输出:

Organisation [organisation_name=GeeksforGeeks, description=A computer Science portal for Geeks, Employees=0]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程