Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะทำการดีซีเรียลไลซ์ JSON เป็นวัตถุที่มีอยู่ใน Java ได้อย่างไร


The Flexjson เป็น น้ำหนักเบา ไลบรารี java สำหรับ การทำให้เป็นอนุกรม และ ดีซีเรียลไลซ์ java beans, แผนที่, อาร์เรย์ และคอลเลกชันในรูปแบบ JSON นอกจากนี้เรายังสามารถ ดีซีเรียลไลซ์สตริง JSON ไปยังวัตถุที่มีอยู่ โดยใช้ deserializeInto() วิธีการของ JSONDeserializer คลาส เมธอดนี้ดีซีเรียลไลซ์อินพุตที่กำหนดในเป้าหมายอ็อบเจ็กต์ที่มีอยู่ ค่าในอินพุต json สามารถเขียนทับค่าในอ็อบเจ็กต์เป้าหมายได้ ซึ่งหมายความว่าหากรวมค่าไว้ใน JSON แล้ว วัตถุใหม่ก็สามารถสร้างและตั้งค่าเป็นวัตถุที่มีอยู่ได้

ไวยากรณ์

สาธารณะ T deserializeInto (อินพุตสตริง, T เป้าหมาย)

ตัวอย่าง

<ก่อนหน้า>นำเข้า flexjson.JSONDeserializer คลาสสาธารณะ JsonDeserializeTest { โมฆะสาธารณะหลัก (สตริง [] args) { Employee emp =พนักงานใหม่ ("Adithya", "Ram", 25, 35000.00); System.out.println(ชั่วคราว); JSONDeserializer deserializer =ใหม่ JSONDeserializer(); สตริง jsonStr ="{" + "\"อายุ\":30," + "\"เงินเดือน\":45000.00" + "}"; emp =deserializer.deserializeInto (jsonStr, emp); System.out.println(emp); }} // Employee classclass Employee { ชื่อสตริงส่วนตัว; นามสกุลสตริงส่วนตัว; อายุ int ส่วนตัว; เงินเดือนสองเท่าส่วนตัว พนักงานสาธารณะ () {} พนักงานสาธารณะ (ชื่อสตริง, นามสกุลสตริง, อายุ int, เงินเดือนสองเท่า) { super (); this.firstName =ชื่อจริง; this.lastName =นามสกุล; this.age =อายุ; this.salary =เงินเดือน; } สตริงสาธารณะ getFirstName () { ส่งคืนชื่อ; } โมฆะสาธารณะ setFirstName (String firstName) { this.firstName =firstName; } สตริงสาธารณะ getLastName () { ส่งคืนนามสกุล; } โมฆะสาธารณะ setLastName (สตริงนามสกุล) { this.lastName =นามสกุล; } สาธารณะ int getAge () { อายุกลับ; } โมฆะสาธารณะ setAge (อายุ int) { this.age =อายุ; } getSalary สองเท่าสาธารณะ () { คืนเงินเดือน; } setSalary โมฆะสาธารณะ (เงินเดือนสองเท่า) { this.salary =เงินเดือน; } public String toString() { return "Employee [ " + "firstName =" + firstName + ", นามสกุล =" + นามสกุล + ", อายุ =" + อายุ + ", เงินเดือน =" + เงินเดือน + " ]"; }}

ผลลัพธ์

ลูกจ้าง[ firstName =Adithya, นามสกุล =Ram, อายุ =25, เงินเดือน =35000.0 ]ลูกจ้าง[ firstName =Adithya, นามสกุล =Ram, อายุ =30, เงินเดือน =45,000.0 ]