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.
Syntax
public JsonObject getAsJsonObject() public JsonArray getAsJsonArray()
Example
import java.util.List; import com.google.gson.*; 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) { this.name = name; this.age = age; this.passoutYear = passoutYear; this.subjects = subjects; } @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", age='" + age + '\'' + ", year of passout=" + passoutYear + ", subjects=" + subjects + '}'; } }
Output
Student Info: Name is: "Adithya" Age is: 20 Year of Passout: 2005 Subjects:["MATHEMATICS","PHYSICS","CHEMISTRY"]