الطريقة الأولى هي استخدام JSON-LIB.
الطريقة الثانية هي استخدام جاكسون.
أول طريقتين سهلة نسبيا لكائنات POJO البسيطة نسبيا. ومع ذلك ، مقارنة مع بيانات الطبقة المتعددة المتداخلة ، يتم زيادة التعقيد مباشرة.
يتم حل الطريقة الثالثة باستخدام GOOGLE'S GSON. أي شخص كتب Android يعرف أن هذا الشيء يتم إنتاجه بواسطة Google. من الطبيعي والمنعش للاستخدام ، وطريقة القيمة مرنة للغاية. يتم إجراء جميع قيم JSON المعقدة بشكل أساسي.
هناك مفهومين في GSON. واحد هو jsonobject و jsonarray. تعتمد على الرمز على وجه التحديد
نسخة الكود كما يلي:
حزمة com.mycompany.gsondata ؛
استيراد com.google.gson.jsonarray ؛
استيراد com.google.gson.jsonoBject ؛
استيراد com.google.gson.jsonparser ؛
/**
* مرحبا بالعالم!
*
*/
تطبيق الفئة العامة {
الفراغ الثابت العام الرئيسي (سلسلة [] args) {
String jSondata = "{/" QuestionNaireId/": /"qntest/" ،/"despleerResults/": [{/"QuestionId/":/"QSTEST01/" ،/"Ansercontent/":/"CFB7F441-9086-11E3-8CF8-000C29452/"} ، {/" QuestionId/":/" QStest01/"،/ "AnserContent/":/"CFB7F441-9086-11E3-8CF8-000C2945C42/"} ، {/"QuestionId/":/"QSTest03/" ،/"Ansercontent/":/"6B3A9CCE-9087-11E1E8CF8- ، A0863 31D-9087-11E3-8CF8-000C2945C442/"} ، {/" QuestionId/":/" QSTest01/"،/" AnserContent/":/" CFB7F441-9086-11E3-8CF8-000C2945C42/"} ، {/" QuestionId/":/" QStest0 5/"،/" AnserContent/":/" اختبار TEST TEXT FILL-IN-BLANKS/"} ، {/" QuestionId/":/" qstest06/"،/" AnserContent/":/" 3/" } ، {/"QuestionId /"://"qstest07/"،/"ansercontent/"://"2.2/"}]} "؛
jsonobject root = new jsonparser (). parse (jsondata) .getasjsonobject () ؛
System.out.println (Root.get ("QuestionNaireId"). tostring ()) ؛ // تؤخذ قيمة عقدة الجذر مباشرة
jsonarray appleslist = root.getasjsonarray (
لـ (int i = 0 ؛ i <applist.size () ؛ i ++) {
system.out.println (applistlist.get (i) .getasjsonobject (). get ("QuestionId"). toString ()) ؛
system.out.println (applistlist.get (i) .getasjsonobject (). get ("AnserContent"). toString ()) ؛
}
}
}