ห้องสมุด Gson สามารถใช้เพื่อ แยก JSON String เป็น Tree Mode ล. เราสามารถใช้ JsonParser เพื่อแยกวิเคราะห์ สตริง JSON เป็นแบบจำลองต้นไม้ ประเภท JsonElement . getAsJsonObject() วิธีการของ JsonElement สามารถใช้เพื่อรับองค์ประกอบเป็น JsonObject และ getAsJsonArray() วิธีการของ JsonElement สามารถใช้เพื่อรับองค์ประกอบเป็น 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"]