How to parse a JSON to Gson Tree Model in Java?

JavaJSONObject Oriented ProgrammingProgramming

The Gson library can be used to parse a JSON String into a Tree Model. We can use the JsonParser to parse the JSON string into a Tree Model of type JsonElement. The getAsJsonObject() method of JsonElement can be used to get the element as JsonObject and getAsJsonArray() method of JsonElement can be used to get the element as JsonArray.


public JsonObject getAsJsonObject()
public JsonArray getAsJsonArray()


import java.util.List;
public class JsonTreeModelTest {
   public static void main(String args[]){
      String jsonStr = "{\"name\":\"Adithya\",\"age\":20,\"year of passout\":2005,\"subjects\": [\"MATHEMATICS\",\"PHYSICS\",\"CHEMISTRY\"]}";
      JsonParser jsonParser = new JsonParser();
      JsonElement jsonElement = jsonParser.parse(jsonStr);
      if(jsonElement.isJsonObject()) {
         JsonObject studentObj = jsonElement.getAsJsonObject();
         System.out.println("Student Info:");
         System.out.println("Name is: " + studentObj.get("name"));
         System.out.println("Age is: " + studentObj.get("age"));
         System.out.println("Year of Passout: " + studentObj.get("year of passout"));
         JsonArray jsonArray = studentObj.getAsJsonArray("subjects");
         System.out.println("Subjects:" + jsonArray);
// Student class
class Student {
   private String name;
   private int age;
   private int passoutYear;
   private List subjects;
   public Student(String name, int age, int passoutYear, List subjects) { = name;
      this.age = age;
      this.passoutYear = passoutYear;
      this.subjects = subjects;
   public String toString() {
      return "Student{" +
             "name='" + name + '\'' +
             ", age='" + age + '\'' +
             ", year of passout=" + passoutYear +
             ", subjects=" + subjects +


Student Info:
Name is: "Adithya"
Age is: 20
Year of Passout: 2005
Published on 30-Sep-2019 15:05:23