การทำให้เป็นอนุกรมของ Jackson Object
ที่นี่เราจะแนะนำวัตถุ Java ที่เป็นอนุกรมไปยังไฟล์ JSON จากนั้นอ่านไฟล์ JSON เพื่อรับการแปลงเป็นวัตถุ ในตัวอย่างนี้ชั้นเรียนนักเรียนถูกสร้างขึ้น สร้างวัตถุนักเรียนที่จะแสดงใน JSON ในไฟล์นักเรียน JSON
สร้างไฟล์คลาส Java ชื่อ JackSontester ใน C:/> JACKSON_WORKSPACE
ไฟล์: JackSontester.java
นำเข้า java.io.file; นำเข้า java.io.ioexception; นำเข้า org.codehaus.jackson.jsongenerationexception; นำเข้า org.codehaus.jackson.jsonparseexception; นำเข้า org.codehaus.jackson.map.jsonmappingexpess; โมฆะคงที่หลัก (String args []) {JackSontester Tester = new JackSontester (); ลอง {นักเรียนนักเรียน = นักเรียนใหม่ (); นักเรียนการตั้งค่า (10); Student.setName ("Mahesh"); tester.writejson (นักเรียน); นักเรียนนักเรียน 1 = tester.readjson (); System.out.println (Student1); } catch (jsonparseException e) {e.printstacktrace (); } catch (jsonMappingException e) {e.printStackTrace (); } catch (ioexception e) {e.printstacktrace (); }} โมฆะส่วนตัว writejson (นักเรียนนักเรียน) พ่น JSongenerationException, jsonMappingException, iOexception {ObjectMapper Mapper = New ObjectMapper (); mapper.writevalue (ไฟล์ใหม่ ("student.json"), นักเรียน); } นักเรียนส่วนตัว readjson () พ่น jsonparsexception, jsonmappingexception, ioexception {ObjectMapper mapper = new ObjectMapper (); นักเรียนนักเรียน = mapper.readValue (ไฟล์ใหม่ ("student.json"), student.class); กลับมานักเรียน; }} นักเรียนชั้นเรียน {ชื่อสตริงส่วนตัว; อายุ int ส่วนตัว; นักเรียนสาธารณะ () {} สตริงสาธารณะ getName () {ชื่อคืน; } โมฆะสาธารณะ setName (ชื่อสตริง) {this.name = name; } public int getage () {return Age; } การตั้งค่าโมฆะสาธารณะ (อายุ int) {this.age = อายุ; } Public String ToString () {return "นักเรียน [ชื่อ:"+ ชื่อ+ ", อายุ:"+ อายุ+ "]"; -ผลการตรวจสอบ
ใช้ Javac เพื่อรวบรวมคลาสต่อไปนี้:
การคัดลอกรหัสมีดังนี้:
C:/jackson_workspace> javac jacksontester.java
ตอนนี้เรียกใช้ JackSontester เพื่อดูผลลัพธ์:
การคัดลอกรหัสมีดังนี้:
C:/Jackson_Workspace> Java JackSontester
ผลการตรวจสอบผลลัพธ์ถูกคัดลอกดังนี้:
นักเรียน [ชื่อ: Mahesh อายุ: 10]
แจ็คสันข้อมูลทั่วไปที่มีผลผูกพัน
ในการเชื่อมข้อมูลอย่างง่ายเราใช้สตริงเป็นวัตถุคีย์และแมปคลาสเป็นวัตถุค่า แต่เราสามารถใช้วัตถุและประเภท Java เฉพาะเพื่อส่งไปยัง JSON
พิจารณาตัวอย่างต่อไปนี้โดยใช้คลาส UserData เพื่อบันทึกข้อมูลเฉพาะผู้ใช้
สร้างไดเรกทอรีที่เรียกว่า JackSontester ในไฟล์ Java Class C:/> Jackson_Workspace
ชื่อไฟล์: JackSontester.java
นำเข้า java.io.file; นำเข้า java.io.ioexception; นำเข้า java.util.arrays; นำเข้า java.util.hashmap; นำเข้า java.util.list; นำเข้า java.util.map; นำเข้า org.codehaus.jackson.jsongenerationexception; org.codehaus.jackson.map.jsonmappingexception; นำเข้า org.codehaus.jackson.map.objectmapper; นำเข้า org.codehaus.jackson.type.typereference; Jacksontester ระดับสาธารณะ ลอง {ObjectMapper mapper = new ObjectMapper (); แผนที่ userDatamap = new hashmap (); userData studentData = ใหม่ userData (); int [] เครื่องหมาย = {1,2,3}; นักเรียนนักเรียน = นักเรียนใหม่ (); นักเรียนการตั้งค่า (10); Student.setName ("Mahesh"); // Java Object studentData.setstudent (นักเรียน); // Java String studentData.setName ("Mahesh Kumar"); // java boolean studentData.Setverified (boolean.false); // array studentdata.setmarks (เครื่องหมาย); typereference ref = typereference ใหม่> () {}; UserDatamap.put ("StudentData1", StudentData); mapper.writevalue (ไฟล์ใหม่ ("student.json"), userdatamap); // {// "StudentData1": // {// "นักเรียน": // {// "ชื่อ": "Mahesh", // "อายุ": 10 //}, // "ชื่อ": "Mahesh Kumar", // "ตรวจสอบ" ไฟล์ ("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 (array.toString (userDatamap.get ("StudentData1"). getMarks ())); } catch (jsonparseException e) {e.printstacktrace (); } catch (jsonMappingException e) {e.printStackTrace (); } catch (ioexception e) {e.printstacktrace (); }}} นักเรียนชั้นเรียน {ชื่อสตริงส่วนตัว; อายุ int ส่วนตัว; นักเรียนสาธารณะ () {} สตริงสาธารณะ getName () {ชื่อคืน; } โมฆะสาธารณะ setName (ชื่อสตริง) {this.name = name; } public int getage () {return Age; } การตั้งค่าโมฆะสาธารณะ (อายุ int) {this.age = อายุ; } Public String ToString () {return "นักเรียน [ชื่อ:"+ ชื่อ+ ", อายุ:"+ อายุ+ "]"; }} คลาส UserData {นักเรียนเอกชน; ชื่อสตริงส่วนตัว; บูลีนส่วนตัวตรวจสอบ; เครื่องหมายส่วนตัว [] เครื่องหมาย; Public UserData () {} นักเรียนสาธารณะ getStudent () {return student; } โมฆะสาธารณะ setstudent (นักเรียนนักเรียน) {this.student = นักเรียน; } สตริงสาธารณะ getName () {ชื่อคืน; } โมฆะสาธารณะ setName (ชื่อสตริง) {this.name = name; } บูลีนสาธารณะ getVerified () {return ตรวจสอบ; } โมฆะสาธารณะ setVerified (ตรวจสอบบูลีน) {this.Verified = ตรวจสอบแล้ว; } public int [] getMarks () {เครื่องหมายคืน; } โมฆะสาธารณะ setMarks (int [] เครื่องหมาย) {this.marks = เครื่องหมาย; -ตรวจสอบผลลัพธ์
ใช้ Javac เพื่อรวบรวมคลาสต่อไปนี้:
การคัดลอกรหัสมีดังนี้:
C:/jackson_workspace> javac jacksontester.java
ตอนนี้เรียกใช้ JackSontester เพื่อดูผลลัพธ์:
การคัดลอกรหัสมีดังนี้:
C:/Jackson_Workspace> Java JackSontester
ตรวจสอบผลลัพธ์
นักเรียน [ชื่อ: Mahesh, อายุ: 10] Mahesh Kumarfalse [1, 2, 3]