جاكسون كائن التسلسل
سنقدم هنا تسلسل كائنات Java إلى ملف JSON ، ثم قراءة ملف JSON لتحويلها إلى كائن. في هذا المثال ، يتم إنشاء فصل الطلاب. قم بإنشاء كائن طالب سيتم تمثيله في JSON في ملف student.json.
قم بإنشاء ملف فئة Java يسمى JackSontester في C:/> Jackson_Workspace.
ملف: jacksontester.java
استيراد java.io.file ؛ استيراد java.io.ioException ؛ استيراد org.codehaus.jackson.jsongeneration void main (string args []) {jacksontester tester = new JackSontester () ؛ جرب {student student = new student () ؛ student.setage (10) ؛ student.setName ("Mahesh") ؛ tester.writejson (طالب) ؛ الطالب 1 = tester.readjson () ؛ system.out.println (student1) ؛ } catch (jsonparseexception e) {e.printStackTrace () ؛ } catch (jsonmappexception e) {E.PrintStackTrace () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ }} private void writejson (طالب طالب) يلقي jsongenerationException ، jsonmappexception ، ioException {ObjectMapper mapper = new ObjectMapper () ؛ mapper.writevalue (ملف جديد ("student.json") ، طالب) ؛ } الطالب الخاص ReadJson () يلقي JsonParseException ، JsonMappexception ، ioException {ObjectMapper mapper = new ObjectMapper () ؛ الطالب الطالب = mapper.readvalue (ملف جديد ("student.json") ، student.class) ؛ عودة الطالب }} فئة طالب {اسم السلسلة الخاصة ؛ عصر INT الخاص ؛ الطالب العام () {} السلسلة العامة getName () {return name ؛ } public void setName (اسم السلسلة) {this.name = name ؛ } public int getage () {return Age ؛ } public void setage (int age) {this.age = age ؛ } السلسلة العامة tostring () {return "student [name:"+ name+ "، age:"+ age+ "]" ؛ }}نتائج التحقق
استخدم Javac لتجميع الفصل التالي:
نسخة الكود كما يلي:
C:/Jackson_Workspace> Javac Jacksontester.java
الآن قم بتشغيل JackSontester لترى النتيجة:
نسخة الكود كما يلي:
C:/Jackson_Workspace> Java Jacksontester
يتم نسخ نتيجة إخراج التحقق على النحو التالي:
الطالب [الاسم: ماهيش ، العمر: 10]
جاكسون بيانات ربط بيانات جاكسون
في ربط البيانات البسيط ، نستخدم String ككائن مفتاح ورسم خريطة الفئة ككائن قيمة. بدلاً من ذلك ، يمكننا استخدام كائنات وأنواع Java محددة لإلقاءها على JSON.
ضع في اعتبارك المثال التالي باستخدام فئة userData لحفظ البيانات الخاصة بالمستخدم.
قم بإنشاء دليل يسمى JackSontester في ملف فئة Java C:/> Jackson_Workspace.
اسم الملف: jacksontester.java
استيراد java.io.file ؛ استيراد java.io.ioException ؛ استيراد java.util.arrays ؛ استيراد java.util.hashmap ؛ استيراد java.util.list ؛ import java.util.map ؛ import org.codehaus.jackson.jsongeneration ؛ import org.codeaus.json.json.jsoneSexception ؛ org.codehaus.jackson.map.jsonmappexception ؛ استيراد org.codehaus.jackson.map.ObjectMapper ؛ استيراد org.codehaus.jackson.type.typereference ؛ class jacksontester public {public static void main (string args [] حاول {ObjectMapper mapper = new ObjectMapper () ؛ map userDatamap = new hashmap () ؛ userData studentData = جديد userData () ؛ int [] marks = {1،2،3} ؛ الطالب الطالب = طالب جديد () ؛ student.setage (10) ؛ student.setName ("Mahesh") ؛ // Java Object StudentData.SetStudent (student) ؛ // java string studentData.SetName ("Mahesh Kumar") ؛ // java boolean studentData.SetVerified (boolean.false) ؛ // Array StudentData.Setmarks (Marks) ؛ typereference ref = new typereference> () {} ؛ userDatamap.put ("studentData1" ، studentData) ؛ mapper.writevalue (ملف جديد ("student.json") ، userDatamap) ؛ // {// "studentData1": // {// "student": // {// "name": "mahesh" ، // "Age": 10 //} ، // "name": "mahesh kumar" ، // "perified": // ملف ("student.json") ، المرجع) ؛ System.out.println (userDatamap.get ("studentData1"). getStudent ()) ؛ System.out.println (userDatamap.get ("studentData1"). getName ()) ؛ System.out.println (userDatamap.get ("studentData1"). getVerified ()) ؛ System.out.println (Arrays.ToString (userDatamap.get ("studentData1"). getMarks ())) ؛ } catch (jsonparseexception e) {e.printStackTrace () ؛ } catch (jsonmappexception e) {E.PrintStackTrace () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ }}} فئة طالب {اسم السلسلة الخاصة ؛ عصر INT الخاص ؛ الطالب العام () {} السلسلة العامة getName () {return name ؛ } public void setName (اسم السلسلة) {this.name = name ؛ } public int getage () {return Age ؛ } public void setage (int age) {this.age = age ؛ } السلسلة العامة tostring () {return "student [name:"+ name+ "، age:"+ age+ "]" ؛ }} class userData {private student ؛ اسم السلسلة الخاصة ؛ تم التحقق من منطقية خاصة ؛ خاص int [] علامات ؛ userdata userdata () {} الطالب العام getStudent () {return student ؛ } public void setStudent (طالب الطالب) {this.student = student ؛ } السلسلة العامة getName () {return name ؛ } public void setName (اسم السلسلة) {this.name = name ؛ } getverified boolean public () {return expiled ؛ } public void setVerified (boolean expiled) {this.verified = expiled ؛ } public int [] getMarks () {return marks ؛ } setMarks public void (int [] marks) {this.marks = marks ؛ }}تحقق من الإخراج
استخدم Javac لتجميع الفصل التالي:
نسخة الكود كما يلي:
C:/Jackson_Workspace> Javac Jacksontester.java
الآن قم بتشغيل JackSontester لترى النتيجة:
نسخة الكود كما يلي:
C:/Jackson_Workspace> Java Jacksontester
تحقق من الإخراج
الطالب [الاسم: ماهيش ، العمر: 10] ماهيش كومارفالسي [1 ، 2 ، 3]