วิธีแรกคือการใช้ JSON-LIB
วิธีที่สองคือการใช้แจ็คสัน
สองวิธีแรกนั้นค่อนข้างง่ายสำหรับวัตถุ Pojo ที่ค่อนข้างง่าย อย่างไรก็ตามเมื่อเทียบกับข้อมูลหลายชั้นที่ซ้อนกันความซับซ้อนจะเพิ่มขึ้นโดยตรง
วิธีที่สามได้รับการแก้ไขโดยใช้ GSON ของ Google ใครก็ตามที่เขียน Android รู้ว่าสิ่งนี้ผลิตโดย Google มันเป็นธรรมชาติและสดชื่นที่จะใช้และวิธีการมีความยืดหยุ่นมาก ค่า JSON ที่ซับซ้อนทั้งหมดจะทำโดยทั่วไป
มีสองแนวคิดใน GSON หนึ่งคือ JsonObject และ JsonArray ขึ้นอยู่กับรหัสโดยเฉพาะ
การคัดลอกรหัสมีดังนี้:
แพ็คเกจ com.mycompany.gsondata;
นำเข้า com.google.gson.jsonarray;
นำเข้า com.google.gson.jsonobject;
นำเข้า com.google.gson.jsonparser;
-
* สวัสดีโลก!
-
-
แอพระดับสาธารณะ {
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {
String JSondata = "{/" แบบสอบถาม/":: /"qntest/",/"answerresults/": [{/"คำถาม/":/"qstest01/",/"ansercontent/":/"cfb7f441-9086-11e3-8cf8-000c2945c4422/"} คำถาม/"/" qstest01/",/ "Ansercontent/":/"CFB7F441-9086-11E3-8CF8-000C2945C442/"}, {/"คำถาม/":/"QSTEST03/",/"Ansercontent/":/"6B3A9CCE-9087-11 , A0863 31D-9087-11E3-8CF8-000C2945C442/"}, {/" คำถาม/":/" QSTEST01/",/" Ansercontent/":/" CFB7F441-9086-11E3-8CF8- คำถาม/":/" qstest0 5/",/" ansercontent/":/" ทดสอบข้อความทดสอบการเติมเต็ม-The-the-blanks/"}, {/" คำถาม/":/" qstest06/",/" ansercontent/":/" 3/" }, {/"คำถาม /":/"qstest07/",/"ansercontent/":/"2.2/"}]} ";
jsonObject root = new jsonParser (). parse (JSondata) .getAsjsonObject ();
System.out.println (root.get ("แบบสอบถาม"). toString ()); // ค่าโหนดรูทถูกนำมาโดยตรง
jsonarray ansternlist = root.getasjsonarray ("คำตอบ"); // รับอาร์เรย์
สำหรับ (int i = 0; i <answerlist.size (); i ++) {
System.out.println (answerlist.get (i) .getAsjsonObject (). รับ ("คำถาม"). toString ());
System.out.println (ansterflist.get (i) .getasjsonobject (). รับ ("ansercontent"). toString ());
-
-
-