In order to convert a Java JSON String to a Java Object and vice-versa, we can make use of the Google Gson dependency,
Gson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object.
Add Gson dependency in Maven POM.xml
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.3.1</version>
</dependency>
Add Gson dependency in Gradle build.gradle
// https://mvnrepository.com/artifact/com.google.code.gson/gson
implementation group: 'com.google.code.gson', name: 'gson', version: '2.3.1'
Example: Java JSON String to a Java Object
Student.json[
{
"studentId": 1,
"studentName": "Mike",
"studentAddress": "Paris",
"studentAge": 19,
"studentMarks": {
"English": 87,
"Chemistry": 72,
"Math": 75,
"Physics": 67
}
},
{
"studentId": 2,
"studentName": "Alex",
"studentAddress": "London",
"studentAge": 18,
"studentMarks": {
"English": 71,
"Chemistry": 98,
"Math": 89,
"Physics": 76
}
}
]
Students.java
import java.util.HashMap;
public class Student {
public Student(int studentId, String studentName, String studentAddress, int studentAge, HashMap<String, Integer> studentMarks) {
this.studentId = studentId;
this.studentName = studentName;
this.studentAddress = studentAddress;
this.studentAge = studentAge;
this.studentMarks = studentMarks;
}
private int studentId;
private String studentName;
private String studentAddress;
private int studentAge;
private HashMap<String,Integer> studentMarks;
public int getStudentId() {
return studentId;
}
public void setStudentId(int studentId) {
this.studentId = studentId;
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public String getStudentAddress() {
return studentAddress;
}
public void setStudentAddress(String studentAddress) {
this.studentAddress = studentAddress;
}
public int getStudentAge() {
return studentAge;
}
public void setStudentAge(int studentAge) {
this.studentAge = studentAge;
}
public HashMap<String, Integer> getStudentMarks() {
return studentMarks;
}
public void setStudentMarks(HashMap<String, Integer> studentMarks) {
this.studentMarks = studentMarks;
}
}
JsonToGsonExample.java
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.util.ArrayList;
public class JsonToGsonExample {
public static void main(String[] args) {
String jsonString = "{\n" +
" \"studentId\": 1,\n" +
" \"studentName\": \"Mike\",\n" +
" \"studentAddress\": \"Paris\",\n" +
" \"studentAge\": 19,\n" +
" \"studentMarks\": {\n" +
" \"English\": 87,\n" +
" \"Chemistry\": 72,\n" +
" \"Math\": 75,\n" +
" \"Physics\": 67\n" +
" }\n" +
"}";
String jsonStringList ="[\n" +
" {\n" +
" \"studentId\": 1,\n" +
" \"studentName\": \"Mike\",\n" +
" \"studentAddress\": \"Paris\",\n" +
" \"studentAge\": 19,\n" +
" \"studentMarks\": {\n" +
" \"English\": 87,\n" +
" \"Chemistry\": 72,\n" +
" \"Math\": 75,\n" +
" \"Physics\": 67\n" +
" }\n" +
" },\n" +
" {\n" +
" \"studentId\": 2,\n" +
" \"studentName\": \"Alex\",\n" +
" \"studentAddress\": \"London\",\n" +
" \"studentAge\": 18,\n" +
" \"studentMarks\": {\n" +
" \"English\": 71,\n" +
" \"Chemistry\": 98,\n" +
" \"Math\": 89,\n" +
" \"Physics\": 76\n" +
" }\n" +
" }\n" +
"]";
Gson gson = new Gson();
//Example with just one Json Object
Student student = gson.fromJson(jsonString,Student.class);
System.out.println(student.getStudentName());
System.out.println(student.getStudentAddress());
//Example with a Student List
ArrayList<Student> studentsList = new ArrayList<>();
studentsList = gson.fromJson(jsonStringList, new TypeToken<ArrayList<Student>>(){}.getType());
System.out.println(studentsList.get(0).getStudentName());
System.out.println(studentsList.get(1).getStudentName());
}
}
Output:
Mike
Paris
Mike
Alex
Example: Gson Java Object to JSON String
GsonToJsonExample.javaimport com.google.gson.Gson;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class GsonToJsonExample {
public static void main(String[] args) {
HashMap<String,Integer> mikeMarks = new HashMap<>();
mikeMarks.put("English",87);
mikeMarks.put("Math",75);
mikeMarks.put("Physics",67);
mikeMarks.put("Chemistry",72);
HashMap<String,Integer> alexMarks = new HashMap<>();
alexMarks.put("English",71);
alexMarks.put("Math",89);
alexMarks.put("Physics",76);
alexMarks.put("Chemistry",98);
Student studentMike = new Student(1,"Mike","Paris",19,mikeMarks);
Student studentAlex = new Student(2,"Alex","London",18,alexMarks);
List<Student> studentList = new ArrayList<>();
studentList.add(studentMike);
studentList.add(studentAlex);
Gson gson = new Gson();
System.out.println(gson.toJson(studentList));
}
}
Output:

More Posts related to Java,
- Convert Java Map Collection Object to JSON String using Jackson
- Java Stream flatmap() Examples
- [Fix] Instant java.time.temporal.UnsupportedTemporalTypeException: Unsupported unit: Years
- How to run Java Unit Test cases with Apache Maven?
- How to check if Java main thread is alive
- [Fix] java: incompatible types: incompatible parameter types in lambda expression error
- Parsing CSV file using Java code example (Comma Separated File)
- Unhandled exception type InterruptedException : Java Threads
- Native getClass() method from java.lang.Object Class Explained with examples.
- Java Jackson ObjectMapper Class with Examples
- Java 8 Streams map() with examples
- Java 8 - Convert List to Map Examples
- IntelliJ: Error: Could not find or load main class, java.lang.ClassNotFoundException
- Java Stream with Multiple Filters Example
- How to Clear StringJoiner in Java 8
- Spring 5 IoC Example with application Context XML (ClassPathXmlApplicationContext) and Gradle.
- How to get end of line (EOL) or new line character \r \n in Java
- Spring Boot CRUD Examples using JDBCTemplate
- Delete a File in Java with Examples
- Implementing Insertion Sort Algorithm in Java Program
- Java JDBC Batch Update Example with PreparedStatement
- Java JDBC Select Multiple Records from table as List using PreparedStatement
- [Hibernate] The method buildSessionFactory() from the type Configuration is deprecated
- How to fix Java HTTP java.net.UnknownHostException
- Java 8 Display time in 12 hour AM PM format
More Posts:
- Java monitoring and management console [jconsole] - Java
- JSON column formatting to preview SharePoint Online file on mouse hover - SharePoint
- 3 Examples to read a text file line by line using java - Java
- MySQL: Error Code: 1175 You are using safe update mode - MySQL
- [Solved] com.sun.xml.ws.transport.http.servlet.WSServletContextListener ClassNotFoundException - Java
- How to hide or cancel Toast message in Android Programming - Android
- [Android] Sharing Multiple Images to Twitter App from your App - Twitter
- How to Stop Mac from Sleeping (macOS Ventura and Above) - MacOS