ดาวน์โหลด GSON จาก gitHub: https://github.com/google/gson
แอปพลิเคชันของ GSON ส่วนใหญ่มีฟังก์ชั่นการแปลงสองฟังก์ชั่น TOJSON และ FRONJSON ก่อนที่จะใช้การแปลงวัตถุนี้คุณต้องสร้างหมวดหมู่วัตถุและสมาชิกเพื่อแปลงสตริง JSON ให้เป็นวัตถุที่เกี่ยวข้อง
ตัวอย่างชั้นเรียน {ส่วนตัว int คำตอบ 1 = 100; สตริงส่วนตัวคำตอบ 2 = "สวัสดีโลก!"; ตัวอย่าง () {} // ตัวสร้างเริ่มต้น}ทำให้เป็นอนุกรมวัตถุ Java ในสตริง JSON
ตัวอย่างตัวอย่าง 1 = ตัวอย่างใหม่ (); GSON GSON = New GSON (); String json = gson.tojson (ตัวอย่าง 1);
ผล JSON จะเป็น
{"คำตอบ 1": 100, "คำตอบ 2": "สวัสดีโลก!"}deserialize strings json เป็นวัตถุ Java ที่สอดคล้องกัน
ตัวอย่างตัวอย่าง 2 = gson.fromjson (json, ตัวอย่าง. class);
==> ตัวอย่าง 2 เหมือนกับตัวอย่าง 1
ตัวอย่างวัตถุ 1 จะถูกทำให้เป็นสตริง JSON ผ่าน TOJSON จากนั้นประกาศว่าวัตถุตัวอย่าง 2 จะถูก deserialialial ลงในตัวอย่าง 2 ผ่านจาก JSON หลังจากได้รับ JSON ดังนั้นตัวอย่าง 1 จึงเหมือนกับตัวอย่าง 2
ตัวอย่าง:
นำเข้า java.util.arraylist; นำเข้า Java.util.Arrays; นำเข้า Java.util.Collection; นำเข้า java.util.hashmap; นำเข้า java.util.map; นำเข้า com.google.gson.gson; นำเข้า com.google.gson.reflect.typetoken; ผู้ใช้คลาส {ผู้ใช้สาธารณะ (ชื่อสตริงอายุ int, StringBuffer Sex, Boolean ischild) {this.name = name; this.age = อายุ; this.sex = เพศ; this.ischild = ischild; } ชื่อสตริงส่วนตัว; อายุ int ส่วนตัว; Stringbuffer ส่วนตัว; ischild บูลีนส่วนตัว; สตริงสาธารณะ toString () {return "{name ="+name+"; age ="+age+"; sex ="+sex+"; ischild ="+ischild+"}"; } public int hashCode () {return name.hashCode ()*100+อายุ; }} คลาสสาธารณะ gSnetest {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {gson gson = new gson (); System.out.println ("1 การเชื่อมต่อของถั่วธรรมดา ***************************"); System.out.println ("แปลงถั่วเป็น json string->"); ผู้ใช้ผู้ใช้ 1 = ผู้ใช้ใหม่ ("Fengjie", 12, StringBuffer ใหม่ ("ไม่ทราบ"), จริง); System.out.println ("User1 ก่อนการแปลง"+user1); String json = gson.tojson (user1); System.out.println ("วัตถุผู้ใช้กับสตริง JSON, json ==="+json); System.out.println ("*************************"); System.out.println ("แปลงสตริง JSON เป็น Bean->"); ผู้ใช้ USER2 = GSON.FROMJSON (JSON, USER.CLASS); System.out.println ("แปลงเป็น user2 =="+user2); System.out.println (); System.out.println ("แปลงเป็น 2Collection Collection *****************************************"); System.out.println ("แปลงคอลเลกชันรายการถั่วเป็นสตริง JSON->"); คอลเลกชัน <user> userlist1 = arrayList ใหม่ <user> (); สำหรับ (int i = 0; i <3; i ++) {ผู้ใช้ผู้ใช้ = ผู้ใช้ใหม่ ("ruhua", 10+i, สตริงใหม่ ("ชาย"), เท็จ); userlist1.add (ผู้ใช้); } json = gson.tojson (userlist1); System.out.println ("วัตถุการรวบรวมรายการผู้ใช้ถูกแปลงเป็นสตริง JSON, json ==="+JSON); System.out.println ("*************************"); System.out.println ("แปลงสตริง JSON เป็นคอลเลกชันรายการของถั่ว->"); คอลเลกชัน <user> userlist2 = gson.fromjson (json, typetoken ใหม่ <collection <ผู้ใช้ >> () {}. getType ()); System.out.println ("แปลงเป็นรายการคอลเลกชันของผู้ใช้, userlist2 ="+userlist2); System.out.println (); System.out.println ("การแปลง 3Array Array ***************************"); System.out.println ("แปลงอาร์เรย์อาร์เรย์ของถั่วให้เป็นสตริง JSON->"); ผู้ใช้ [] userarray1 = ผู้ใช้ใหม่ [3]; สำหรับ (int i = 0; i <userarray1.length; i ++) {userarray1 [i] = ผู้ใช้ใหม่ ("ซ่อน", 20, สตริงใหม่ ("กระเทย"), จริง); } json = gson.tojson (userarray1); System.out.println ("วัตถุอาร์เรย์ของผู้ใช้ถูกแปลงเป็นสตริง JSON, JSON ==="+JSON); System.out.println ("********************************"); System.out.println ("แปลงสตริง JSON เป็นวัตถุอาร์เรย์ของ Bean->"); ผู้ใช้ [] userarray2 = gson.fromjson (json, typetoken ใหม่ <ผู้ใช้ []> () {}. getType ()); System.out.println ("แปลงเป็นอาร์เรย์อาร์เรย์ของผู้ใช้, userarray2 ="+array.toString (userarray2)); System.out.println (); System.out.println ("แปลง 4map *****************************"); System.out.println ("แปลงแผนที่ถั่วเป็นสตริง JSON->"); แผนที่ <สตริง, ผู้ใช้> map1 = ใหม่ hashmap <สตริง, ผู้ใช้> (); สำหรับ (int i = 0; i <3; i ++) {map1.put (""+(i+10), userarray1 [i]); } json = gson.tojson (MAP1); System.out.println ("คอลเลกชันแผนที่ของผู้ใช้แปลงเป็นสตริง JSON, JSON ==="+JSON); System.out.println ("*************************"); System.out.println ("แปลงสตริง JSON เป็นวัตถุอาร์เรย์ของ Bean->"); แผนที่ <สตริงผู้ใช้> map2 = gson.fromjson (json, typetoken ใหม่ <แผนที่ <สตริง, ผู้ใช้ >> () {}. getType ()); System.out.println ("แปลงเป็นอาร์เรย์อาร์เรย์ของผู้ใช้, map2 =="+map2); -ผลการทำงาน:
1 การเชื่อมต่อของถั่วธรรมดา ************************************************************************************************************************************* json === {"ชื่อ": "Fengjie", "อายุ": 12, "เพศ": "ไม่ทราบ", "ischild": จริง} ***************************************************************************** การแปลง *************************************************************************************************************************************** json === [{"ชื่อ": "ruhua", "อายุ": 10, "เพศ": "ชาย", "ischild": เท็จ}, {"ชื่อ": "ruhua", "อายุ": 11, "เพศ": "ชาย", " **************************************************************************************************************************************** {name = ruhua; อายุ = 12; sex = male; ischild = false}] 3Array การแปลงอาร์เรย์ ********************************************************************************************* JSON === [{"ชื่อ": "Hibi", "อายุ": 20, "Sex": "Shemale", "Ischild": True}, {"Name": "Hidden", "Age": 20, "Sex": "Shemale", "ischild": true}, {"ชื่อ" *************************************************** การแปลงสตริง JSON เป็นวัตถุอาร์เรย์ของถั่ว-> แปลงเป็นวัตถุอาร์เรย์ของผู้ใช้เป็นผู้ใช้, userArray2 = [{name = ซ่อน; อายุ = 20; เพศ = ซ่อน; isChild = true}, {name = hibiscus; อายุ = 20; เพศ = hemale; ischild = true}, {name = hibiscus; อายุ = 20; เพศ = hemale; ischild = true}] 4Map Conversion ********************************************* json === {"10": {"ชื่อ": "Hibi", "อายุ": 20, "Sex": "Shemale", "Ischild": TRUE}, "11": {"Name": "Hibibi", "อายุ": 20, "Sex": "Shemale", "Ischild": True}, "12": {"Name": "Hibibi", "อายุ": 20, "Sex": "Shemale", "Ischild": True}}} *************************************************************************************************************************************************************** 12 = {name = hibibi; อายุ = 20; sex = hermaid; ischild = true}}