Pre-requisite: Convert Java Object to Json String Using GSON
JSON Stand for JavaScript Object Notation. It’s a standard text-based format which shows structured data based on JavaScript object syntax. It is commonly used for transmitting data in web applications. JSON is highly recommended to transmit data between a server and web application.
To convert a Java object into JSON, the following methods can be used:
- GSON: It is an open-source Java library which is used to serialize and deserialize Java objects to JSON.
- Jackson API
In this article, a predefined JSON String is converted into Java Object using GSON.
Examples:
Input:
{
“organisation_name” : “Lazyroar”,
“description” : “A computer Science portal for Geeks”,
“Employee” : “2000”
}
Output:
Organisation [organisation_name=Lazyroar, description=A computer Science portal for Geeks, Employees=0]
Input:
{
“Student_name” : “XYZ”,
“Organisation_name” : “GeeksForGeeks”
“Roll_No” : “1”
}
Output:
Student [Student_name=XYZ, Organisation_name=GeeksForGeeks, Roll_no=1]
The steps to do this are as follows:
- Add jar files of Jackson (in case of Maven project add Gson dependencies in the pom.xml file)
html
< dependency > < groupId >com.google.code.gson</ groupId > < artifactId >gson</ artifactId > < version >2.6.2</ version > </ dependency > |
Below is the screenshot showing this step:-
- Create a POJO (Plain Old Java Object) to be converted into JSON
Java
package Lazyroar.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 + "]" ; } } |
Below is the screenshot showing this step:-
- Create a String Variable for Storing Json String:
Note: This Json string should not be a simple Json String. Preprocess the JSON String and add slashes before passing it into GSON object.
Example of Preprocessing:
Initial JSON String:
{“organisation_name” : “Lazyroar”, “description” : “A computer Science portal for Geeks”, “Employee” : “2000”}
Preprocessed JSON String:
{ \”organisation_name\” : \”Lazyroar\”, \”description\” : \”A computer Science portal for Geeks\”, \”Employee\” : \”2000\” }
- Create a Java class for converting the Json into Organisation object:
Java
package Lazyroar.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\" : \"Lazyroar\", \"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; } } |
Below is the screenshot showing this step:-
- Execute the process
Output:
Organisation [organisation_name=Lazyroar, description=A computer Science portal for Geeks, Employees=0]