ใช้เครื่องมือแปลง JSON ของบุคคลที่สามเครื่องมือแปลง Alibaba JSON Fastjson1.2.7
//www.vevb.com/softs/530842.html
หมายเหตุ: ฉันจะไม่ทำซ้ำการนำเข้าแพ็คเกจ JAR โปรดดูรายละเอียด Baidu
คลาสผู้ใช้กำหนดคุณสมบัติสองคุณสมบัติและสร้างตัวสร้างรับและตั้งค่าวิธีการ
ผู้ใช้ระดับสาธารณะ {ชื่อผู้ใช้สตริงสาธารณะ; // ชื่อสมดุลสาธารณะสาธารณะ; // จำนวนผู้ใช้สาธารณะ () {super ();} ผู้ใช้สาธารณะ (ชื่อผู้ใช้สตริง, สมดุลสองเท่า) {super (); this.username = ชื่อผู้ใช้; this.balance = Balance;} Public String getUserName () {return username;} โมฆะสาธารณะ setUserName (ชื่อผู้ใช้สตริง) {this.username = ชื่อผู้ใช้;} การ getBalance สองครั้ง () {return balance;} public void setBalanceไบต์สตรีมมิ่งเพื่อจัดเก็บข้อมูล JSON ไปยังไฟล์ txt
นำเข้า java.io.bufferedInputstream; นำเข้า java.io.bufferedOutputstream นำเข้า java.io.file; นำเข้า java.io.fileinputstream; นำเข้า java.io.fileoutputstream; นำเข้า java.util.arraylist; เป็นโมฆะ Main (String [] args) {list <ผู้ใช้> list = new ArrayList <> (); list.add (ผู้ใช้ใหม่ ("Zhang San", 100)); list.add (ผู้ใช้ใหม่ ("Zhang Si", 200)); list.add (ผู้ใช้ใหม่ ("Zhang Wu", 300) ไฟล์ // ไฟล์วัตถุที่เก็บไว้ fileOutputStream fos = null; bufferedOutputStream bos = null; ลอง {fos = ใหม่ fileOutputStream (ไฟล์); bos = ใหม่ bufferedOutputStream (fos); string json = json.tojsonstring (รายการ); // แปลงวัตถุเป็น jsonbos.write (json.getBytes ("UTF-8")); // json String เขียนไปยังไฟล์ bos.flush (); System.out.println ("การเขียนข้อมูล JSON เสร็จสมบูรณ์");} catch (ข้อยกเว้น e) {e.printstacktrace ();} ในที่สุด {ลอง {fos.close (); bos.close ();} catch (ยกเว้น e) {e.printstacktrace ();}} // อ่านเนื้อหา fis = null; bufferedInputStream bis = null; byte buff [] = byte ใหม่ [1024]; ลอง {fis = ใหม่ fileInputStream (ไฟล์); bis = ใหม่ bufferedInputStream (fis); ในขณะที่ (num = bis.read (buff))! // พิมพ์สตริง JSON ที่อ่านไฟล์} catch (Exception e) {E.printStackTrace ();} ในที่สุด {ลอง {fis.close (); bis.close ();} catch (exception e) {e.printstacktrace ();}} // แปลงข้อมูล json // ข้อมูลการอ่าน JSON มีช่องว่างและวิธีการตัดแต่งสำหรับ (ผู้ใช้ obj: รายการ) {system.out.println (obj.getusername ()+"/t"+obj.getbalance ());}}}}}}}}การจัดเก็บข้อมูล JSON ไปยังไฟล์ txt ในสตรีมอักขระ
นำเข้า java.io.bufferedreader; นำเข้า java.io.bufferedwriter; นำเข้า java.io.file; นำเข้า java.io.filereader; นำเข้า java.io.filewriter; นำเข้า java.util.arraylist; นำเข้า Java.util.list; args) {รายการ <user> list = new ArrayList <> (); list.add (ผู้ใช้ใหม่ ("Zhang San", 100)); list.add (ผู้ใช้ใหม่ ("Zhang Si", 200)); list.add (ผู้ใช้ใหม่ ("Zhang Wu", 300)) ไฟล์ = ไฟล์ใหม่ // ไฟล์วัตถุที่เก็บไว้ fileWriter fw = null; bufferedWriter bw = null; ลอง {fw = ใหม่ fileWriter (ไฟล์); bw = ใหม่ bufferedWriter (fw); string json = json.tojsonstring (รายการ); // แปลงวัตถุเป็น jsonbw.write (json); // JSON String File Write File BW.Flush (); System.out.println ("การเขียนข้อมูล JSON เสร็จสมบูรณ์");} catch (ข้อยกเว้น e) {e.printstacktrace ();} ในที่สุด {ลอง {bw.close (); fw.close ();} catch (ยกเว้น e) {e.printstacktrace ();}}}} // อ่านเนื้อหา br = null; ลอง {fr = filereader ใหม่ (ไฟล์); br = new bufferedreader (fr); ในขณะที่ ((s = br.readline ())! = null) {str+= s;} system.out.println (str); // พิมพ์สตริง JSON ที่อ่านไฟล์} catch (Exception e) {E.printStackTrace ();} ในที่สุด {ลอง {br.close (); fr.close ();} catch (exception e) {e.printstacktrace (); สำหรับ (ผู้ใช้ obj: รายการ) {system.out.println (obj.getUserName ()+"/t"+obj.getBalance ());}}}}ผลการทำงาน:
การเขียนข้อมูล JSON เสร็จสมบูรณ์ [{"ยอดคงเหลือ": 100, "ชื่อผู้ใช้": "จางซาน"}, {"ยอดคงเหลือ": 200, "ชื่อผู้ใช้": "จางศรี"}, {"ยอดคงเหลือ": 300, "ชื่อผู้ใช้": "จางวู"}]คำถาม: ทำไมคุณต้องแปลงวัตถุเป็น JSON แล้วเก็บไว้? ทำไมไม่เก็บวัตถุลงในไฟล์โดยตรง? การใช้ JSON มีประโยชน์อย่างไร?
คำถามที่ 12: หากคุณเขียนวัตถุลงในไฟล์โดยตรงรหัสที่อ่านไม่ออกจะเกิดขึ้นและคุณต้องแปลงสตริง JSON ก่อนเก็บไว้
คำถามและคำตอบสามข้อ: ข้อดีของ JSON นั้นง่ายต่อการถ่ายทอดอักขระซ้ำซ้อนน้อยลงและง่ายต่อการแปลงและอ่าน