قم بتنزيل GSON من Github: https://github.com/google/gson
يتضمن تطبيق GSON بشكل أساسي وظيفتين للتحويل Tojson و FromJson. قبل استخدام تحويل الكائن هذا ، تحتاج إلى إنشاء فئة الكائن وأعضائها لتحويل سلسلة JSON بنجاح إلى الكائن المقابل.
أمثلة فئة {private int applong1 = 100 ؛ سلسلة خاصة الإجابة 2 = "Hello World!" ؛ أمثلة () {} // المنشأة الافتراضية}تسلسل كائنات جافا في سلاسل JSON
أمثلة مثال 1 = أمثلة جديدة () ؛ gson gson = new gson () ؛ String json = gson.tojson (example1) ؛
ستكون نتيجة JSON
{"الجواب 1": 100 ، "إجابة 2": "Hello World!"}تخلص من سلاسل JSON في كائنات Java المقابلة
أمثلة مثال 2 = gson.fromjson (json ، أمثلة. cclass) ؛
==> example2 هو نفسه مثال 1
يتم تسلسل example example1 في سلسلة JSON عبر Tojson ، ثم يعلن أن الكائن example2 يتم إلغاء التخلص منه في مثال 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.tepetoken ؛ مستخدم الفئة {مستخدم عام (اسم السلسلة ، int age ، sexbuffer 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+Age ؛ }} الفئة العامة gsontest {public static void main (string [] args) {gson gson = new gson () ؛ System.out.println ("1Conversion of Ordinary Bean *******************************") ؛ System.out.println ("تحويل الفول إلى سلسلة JSON->") ؛ user user1 = مستخدم جديد ("fengjie" ، 12 ، New StringBuffer ("غير معروف") ، صحيح) ؛ System.out.println ("user1 قبل التحويل"+user1) ؛ String json = gson.tojson (user1) ؛ system.out.println ("كائن المستخدم إلى json string ، json ==="+json) ؛ System.out.println ("***************************") ؛ System.out.println ("تحويل سلسلة JSON إلى Bean->") ؛ user user2 = gson.fromjson (json ، user.class) ؛ System.out.println ("تحويل إلى user2 =="+user2) ؛ system.out.println () ؛ System.out.println ("تحويل إلى مجموعة 2Collection *******************************************") ؛ System.out.println ("تحويل مجموعة قائمة الفول إلى سلسلة JSON->") ؛ Collection <Sether> userList1 = new ArrayList <Sether> () ؛ لـ (int i = 0 ؛ i <3 ؛ i ++) {user user = new user ("ruhua" ، 10+i ، new StringBuffer ("male") ، false) ؛ userList1.Add (user) ؛ } json = gson.tojson (userList1) ؛ System.out.println ("يتم تحويل كائن مجموعة قائمة المستخدمين إلى سلسلة JSON ، JSON ==="+JSON) ؛ System.out.println ("***************************") ؛ System.out.println ("تحويل سلسلة JSON إلى قائمة قائمة من الفاصوليا->") ؛ Collection <Seter> userList2 = gson.fromjson (json ، typetoken new <collection <User >> () {}. gettype ()) ؛ System.out.println ("تحويل إلى مجموعة من المستخدمين ، userList2 ="+userList2) ؛ system.out.println () ؛ System.out.println ("تحويل 3Array Array *******************************") ؛ System.out.println ("تحويل مجموعة صفيف من الفول إلى سلسلة JSON->") ؛ user [] userArray1 = مستخدم جديد [3] ؛ لـ (int i = 0 ؛ i <userArray1.length ؛ i ++) {userArray1 [i] = مستخدم جديد ("Hidden" ، 20 ، New StringBuffer ("shemale") ، true) ؛ } json = gson.tojson (userarray1) ؛ System.out.println ("يتم تحويل كائن صفيف المستخدم إلى سلسلة JSON ، JSON ==="+JSON) ؛ System.out.println ("******************************** System.out.println ("تحويل سلسلة JSON إلى كائن صفيف من Bean->") ؛ user [] userArray2 = gson.fromjson (json ، new typetoken <user []> () {}. gettype ()) ؛ System.out.println ("تحويل إلى كائن المصفوفة للمستخدم ، userArray2 ="+arrays.toString (userArray2)) ؛ system.out.println () ؛ System.out.println ("تحويل 4MAP *********************************") ؛ System.out.println ("تحويل خريطة الفول إلى سلسلة JSON->") ؛ خريطة <string ، user> map1 = new hashmap <string ، user> () ؛ لـ (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->") ؛ MAP <String ، user> map2 = gson.fromjson (json ، new typetoken <map <string ، user >> () {}. gettype ()) ؛ System.out.println ("تحويل إلى كائن المصفوفة للمستخدم ، map2 =="+map2) ؛ }}نتائج التشغيل:
1Conversion of Ordinary Bean ********************************************************* تحويل الفول إلى سلسلة json-> user1 {name = fengjie ؛ age = 12 ؛ sex = غير معروف ؛ ischild = true} يتم تحويل كائن المستخدم إلى سلسلة json ، json ==== {"name": "fengjie" ، "Age": 12 ، "sex": "unknown" ، "Ischild": true} ****************************************************************************** التحويل ********************************************** تحويل مجموعة قائمة الفول إلى كائن مجموعة قائمة المستخدمين في سلسلة JSON في سلسلة JSON ، json ==== [{"name": "ruhua" ، "Age": 10 ، "Sex": "Male" ، "Ischild": false} ، {"name": "ruhua" ، ************************************ المستخدم {name = ruhua ؛ age = 12 ؛ sex = male ؛ iSchild = false}] 3array array conversion ***************************************************************************** json ==== [{"name": "Hibi" ، "Age": 20 ، "Sex": "Shemale" ، "Ischild": true} ، {"name": "Hidden" ، ****************************** المستخدم iSchild = true} ، {name = hibiscus ؛ age = 20 ؛ sex = hemale ؛ ischild = true} ، {name = hibiscus ؛ age = 20 ؛ sex = hemale ؛ iSchild = true}] json ==== {"10": {"name": "Hibi" ، "Age": 20 ، "Sex": "Shemale" ، "Ischild": true} ، "11": {"name": 20 ، "الجنس": "Shemale" ، "Ischild": True} ، "12": {"name": "Hibibi" ، "Age": 20 ، "Sex": "Shemale" ، "Ischild": True}} ************************ المستخدم 12 = {name = hibibi ؛ العمر = 20 ؛ الجنس = hermaid ؛ ischild = true}}