استخدم أداة تحويل JSON من طرف ثالث ، أداة تحويل Alibaba JSON FastJson1.2.7.
//www.vevb.com/softs/530842.html
ملاحظة: لن أكرر استيراد حزم الجرة ، يرجى الرجوع إلى Baidu للحصول على التفاصيل.
فئة المستخدم ، وتحديد خصائصين ، وإنشاء مُنشئين ، وحصل على الأساليب وتعيينها
مستخدم الفئة العامة {public string username ؛ // اسم الرصيد المزدوج العام ؛ // مبلغ المستخدم العام () {super () ؛} المستخدم العام (اسم المستخدم ، التوازن المزدوج) {super () ؛ this.username = اسم المستخدم ؛ this.bandbance = balance ؛} السلسلة العامة getUserName () {return username ؛} public void setUsername (string username) {this.username = username ؛} public double getBalance () {return balance ؛بايت تدفق لتخزين بيانات JSON إلى ملف txt
استيراد java.io.bufferedInputStream ؛ استيراد java.io.bufferedoutputstream ؛ استيراد java.io void main (string [] args) {list <Sether> list = new ArrayList <> () ؛ list.add (مستخدم جديد ("Zhang San" ، 100)) ؛ list.add (مستخدم جديد ("Zhang si" ، 200)) ؛ rip (asser (Zhang wu "، 300) ؛ file new = file file (d://expelist") ؛ // FileOtputer fileOutputStream fos = null ؛ bufferedoutputstream bos = null ؛ حاول {fos = fileOutputStream (ملف) ؛ bos = جديد bufferedoutputStream (fos) ؛ String json = json.tojsonstring (list) ؛ // تحويل الكائن إلى jsonbos.write (json.getbytes ("utf-8")) ؛ // json string يكتب إلى ملف bos.flush () ؛ system.out.println ("json data write include") ؛} catch (استثناء e) {E.PrintStackTrace () ؛} أخيرًا {try {fos.close () ؛ bos.close () ؛ fis = null ؛ bufferedInputStream bis = null ؛ byte buff [] = new byte [1024] ؛ try {fis = new FileInputStream (file) ؛ bis = new BufferEdInputStream (fis) ؛ بينما ((num = bis.read (buff))! =-1) {str+= new string ، "utf-8") ؛ // اطبع سلسلة JSON التي تقرأ الملف} catch (استثناء e) {E.PrintStackTrace () ؛} أخيرًا {try {fis.close () ؛ bis.close () ؛} catch (استثناء e) {E.PrintStackTrace () ؛}} // تحويل بيانات القراءة إلى كائن ، وإخراج قائمة = json.par. // تحتوي بيانات read json على مسافات ، وتزيل طريقة trim لـ (user obj: list) {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 ؛ import java.util.arrayList ؛ MAIN (String [] args) {list <Sether> list = new ArrayList <> () ؛ list.add (مستخدم جديد ("Zhang San" ، 100)) // ملف كائن مخزن filewRiter fw = null ؛ bufferedWriter bw = null ؛ حاول {fw = new filewRiter (file) ؛ bw = new BufferedWriter (fw) ؛ String json = json.tojsonstring (list) ؛ // تحويل الكائن إلى jsonbw.write (json) ؛ // json string file file bw.flush () ؛ system.out.println ("json data write include") ؛} catch (استثناء e) {E.PrintStackTrace () ؛} أخيرًا {try {bw.close () ؛ fw.close () ؛ fr = null ؛ bufferedReader br = null ؛ try {fr = new fileReader (file) ؛ br = new BufferEdReader (fr) ؛ بينما ((s = br.readline ())! = null) {str+= s ؛} system.out.println (str) ؛ // اطبع سلسلة JSON التي تقرأ الملف} catch (استثناء e) {e.printstacktrace () ؛} أخيرًا {try {br.close () ؛ fr.close () ؛} catch (استثناء e) {eprintstacktrace () ؛ لـ (user obj: list) {system.out.println (obj.getusername ()+"/t"+obj.getbalance ()) ؛}}}}}نتائج التشغيل:
أكملت كتابة بيانات JSON [{"التوازن": 100 ، "اسم المستخدم": "Zhang San"} ، {"Balance": 200 ، "username":سؤال: لماذا تحتاج إلى تحويل الكائن إلى JSON ثم تخزينه؟ لماذا لا تخزن الكائنات مباشرة في الملفات؟ ما هي فوائد استخدام JSON؟
السؤال 12: إذا كتبت الكائن مباشرة في ملف ، فسيحدث رمز مشوه وتحتاج إلى تحويل سلسلة JSON قبل تخزينه.
ثلاثة أسئلة وأجوبة: من السهل نقل مزايا JSON ، وعدد أقل من الأحرف الزائدة ، ويسهل تحويلها وقراءتها.