Gson লাইব্রেরি ব্যবহার করে একটি JSON স্ট্রিংকে ট্রি মডেলে পার্স করা যায়। আমরা JsonParser ব্যবহার করে JSON স্ট্রিংকে ট্রি মডেলে পার্স করতে পারি যার টাইপ JsonElement। JsonElement-এর getAsJsonObject() মেথড ব্যবহার করে এলিমেন্টটি JsonObject হিসেবে পাওয়া যায় এবং getAsJsonArray() মেথড ব্যবহার করে JsonArray হিসেবে পাওয়া যায়।
সিনট্যাক্স
public JsonObject getAsJsonObject() public JsonArray getAsJsonArray()
উদাহরণ
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 +
'}';
}
}
আউটপুট
Student Info: Name is: "Adithya" Age is: 20 Year of Passout: 2005 Subjects:["MATHEMATICS","PHYSICS","CHEMISTRY"]