サードパーティJSON変換ツール、Alibaba JSON変換ツールFastJSON1.2.7を使用します。
//www.vevb.com/softs/530842.html
注:JARパッケージの輸入は繰り返されません。詳細については、Baiduを参照してください。
ユーザークラス、2つのプロパティを定義し、コンストラクターを作成し、メソッドを取得および設定します
パブリッククラスユーザー{public string username; //パブリックダブルバランスに名前を付けます。 // public user(){super();} public user(string username、double balance){super(); this.username = username; this.balance = balance;} public string getUsername(){return username;} public void setUsername(string username){this.username = username;} public double getbalance(){return balance;} public void setbalance(double balance = balance;}}}}}}JSONデータをTXTファイルに保存するためのバイトストリーミング
java.io.bufferedinputStream; Import java.io.bufferedoutputStream; Import java.io.file; Import java.io.fileinputStream; Import java.io.fileOutputStream; Import java.util.arrayList; Impont java.util.util. static void main(string [] args){list <user> list = new arraylist <>(); list.add(new user( "zhang san"、100)); list.add(new user( "Zhang Si"、200)); list.add(new user( "Zhang wu"、300));ファイルファイル=新しいファイル//保存されたオブジェクトfileoutputStream fos = null; bufferedoutputStream bos = null; try {fos = new fileoutputStream(file); bos = new bufferedoutputStream(fos); string json = json.tojsonstring(list); //オブジェクトをjsonbos.write(json.getbytes( "utf-8"))に変換します。 // json文字列は、bos.flush()をファイルするように書き込みます。 System.out.println( "JSON Data Writing Completed");} catch(Exception E){E.PrintStackTrace();}最後に{try {fos.close(); bos.close();} catch(exceance e){e.printstacktrace();}} //ファイルの内容と出力string string str = "; fis = null; bufferedinputStream bis = null; byte buff [] = new byte [1024]; try {fis = new fileinputStream(file); bis = new bufferedinputStream(fis); //ファイルを読み取るjson文字列を印刷} catch(例外e){e.printstacktrace();}最後に{fis.close(); bis.close();} catch(e.printstacktrace();}} //読み取りデータをオブジェクトに変換し、json liest = json liest = json liest = jsonデータ(})を変換します。 //読み取りJSONデータにはスペースがあり、トリムメソッドは(ユーザーobj:list){system.out.println(obj.getusername()+"/t"+obj.getbalance();}}}}}を削除します。JSONデータを文字ストリームにTXTファイルに保存する
java.io.bufferedreader; Import java.io.bufferedwriter; Import java.io.file; import java.io.filereader; Import java.io.filewriter; Import java.util.arraylist; Import Java.util.List; main(string [] args){list <user> list = new arraylist <>(); list.add(new user( "zhang san"、100)); list.add(new user( "Zhang si"、200)); list.ad(new user( "Zhang Wu"、300)); //保存されているオブジェクトファイルファイルWriter fw = null; bufferedwriter bw = null; try {fw = new filewriter(file); bw = new bufferedWriter(fw); string json = json.tojsonstring(list); //オブジェクトをjsonbw.write(json)に変換します。 // json文字列write file bw.flush(); System.out.println( "JSON Data Writing Complete");} catch(Exception E){e.printstacktrace();} fullly {try {bw.close(); fw.close();} catch(exceance e){e.printstacktrace();}}}} //ファイルの内容を読むfr = null; bufferedreader br = null; try {fr = new fileReader(file); br = new BufferedReader(FR); while((s = br.readline())!= null){str+= s;} system.out.println(str); //ファイルを読み取るjson文字列を印刷} catch(例外e){e.printstacktrace();}最後に{try {br.close(); fr.close();} catch(e.printstacktrace();}} //読み取りjsonデータをオブジェクトと出力リストに変換します。 for(user obj:list){system.out.println(obj.getusername()+"/t"+obj.getbalance();}}}}}実行結果:
JSONデータライティングが完了した[{"BALANCE":100、 "username": "Zhang San"}、{"Balance":200、 "username": "zhang si"}、{"balance":300、 "username": "zhang wu"}] Zhang San 100.0 Zhang Si 200.0 Zhang Wu 300.0質問:なぜオブジェクトをJSONに変換してから保存する必要があるのですか?オブジェクトをファイルに直接保存してみませんか? JSONを使用することの利点は何ですか?
質問12:オブジェクトをファイルに直接書き込むと、文字化けコードが発生し、保存する前にjson文字列を変換する必要があります。
3つの質問と回答:JSONの利点は、送信しやすく、冗長な文字が少なく、変換して読みやすいです。