- Given a user defined object, we would like to convert Object( or POJO) to JSON and vice versa.
- We will use the Google gson library to serialize POJO to JSON and deserialize JSON to POJO.
- We will create Person class and we will perform the following operations with Person class
- Convert Person Object to JSON String.
- Convert JSON String to person object
GSON Maven dependency:
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.5</version> </dependency>
Program – convert Object to /from JSON String in java (GSON & example)
1.) Person Class:
- Given a Person class or POJO, we would like to serialize or convert object to JSON String.
- Person class is having data members like firstName, lastName, age etc.
- We have overloaded toString method, to display Person information
package org.learn.gson; public class Person { public String firstName; public String lastName; public int age; public String contact; public Person(String firstName, String lastName, int age, String contact) { this.firstName = firstName; this.lastName = lastName; this.age = age; this.contact = contact; } public String toString() { return "[" + firstName + " " + lastName + " " + age + " " + contact + "]"; } }
2) JSONObjectConverter Class:
JSONObjectConverter is responsible for performing following operations.
- Convert Person Object to JSON String.
- Serialization of Object to JSON String.
- Convert JSON String to person object.
- Deserialization of JSON String to Person Object.
package org.learn.gson; import java.lang.reflect.Type; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.reflect.TypeToken; public class JSONObjectConverter { public static void main(String[] args) { Gson objGson = new GsonBuilder().setPrettyPrinting().create(); Person objPerson = new Person("Mike", "harvey", 34, "001894536"); // Convert Person object to json String json = objGson.toJson(objPerson); System.out.println("1. Convert Person object to Json"); System.out.println(json); // Convert to json to person object Type listType = new TypeToken() { }.getType(); System.out.println("2. Convert JSON to person object"); Person objFromJson = objGson.fromJson(json, listType); System.out.println(objFromJson); } }
Download – Serializae & Deserialize or convert object to/from JSON (GSON)
Output – convert object to/from JSON in java (GSON & example)
1. Convert Person object to Json { "firstName": "Mike", "lastName": "harvey", "age": 34, "contact": "001894536" } 2. Convert JSON to person object [Mike harvey 34 001894536]