Pre-erquisite: 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” : “GeeksforGeeks”,
“description” : “A computer Science portal for Geeks”,
“Employee” : “2000”
}
Output:
Organisation [organisation_name=GeeksforGeeks, 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)
<
dependency
>
<
groupId
>com.google.code.gson</
groupId
>
<
artifactId
>gson</
artifactId
>
<
version
>2.6.2</
version
>
</
dependency
>
chevron_rightfilter_noneBelow is the screenshot showing this step:-
- Create a POJO (Plain Old Java Object) to be converted into 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 +
"]"
;
}
}
chevron_rightfilter_noneBelow 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:
Intial JSON String:
{“organisation_name” : “GeeksforGeeks”, “description” : “A computer Science portal for Geeks”, “Employee” : “2000”}Preprocessed JSON String:
{ \”organisation_name\” : \”GeeksforGeeks\”, \”description\” : \”A computer Science portal for Geeks\”, \”Employee\” : \”2000\” } - Create a Java class for converting the Json into Organisation object:
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 prpreocessed json
// and second should be mapping class
Organisation organisation
= gson.fromJson(OrganisationJson,
Organisation.
class
);
// return object
return
organisation;
}
}
chevron_rightfilter_noneBelow is the screenshot showing this step:-
- Execute the process
- Output:
Organisation [organisation_name=GeeksforGeeks, description=A computer Science portal for Geeks, Employees=0]
Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready.