Используйте сторонний инструмент преобразования JSON, инструмент преобразования Alibaba JSON FASTJSON1.2.7.
//www.vevb.com/softs/530842.html
Примечание. Я не буду повторять импорт пакетов JAR, пожалуйста, обратитесь к Baidu для получения подробной информации.
Пользовательский класс, определите два свойства и создайте конструкторы, получает и устанавливает методы
Пользователь открытого класса {public String username; // Назовите общественный двойной баланс; // сумма public user () {super ();} public user (string username, двойной баланс) {super (); this.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 (двойной баланс) {this.balance = balance;}}Потоковая трансляция байта для хранения данных JSON в файл TXT
Импорт java.io.bufferedinptstream; import java.io.bufferedoutputstream; импорт java.io.file; import java.io.fileinputstream; импорт java.io.fileoutputstream; import java.util.arraylist; импорт java.util.list; импорт com.alibaba.fal main (string [] args) {list <user> list = new ArrayList <> (); List.Add (новый пользователь ("Zhang San", 100)); List.Add (новый пользователь ("Zhang Si", 200)); List.Add (новый пользователь ("Zhang wu", 300)); File file = new File ("d:/Ouselist.txt"); // хранящий файл объекта 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 string записывает, чтобы File bos.flush (); System.out.println ("json data upplycome upply");} catch (Exception e) {e.printstacktrace ();} наконец {try {fos.close (); bos.close ();} catch (Exception e) {e.printstacktrace ();} // Читать содержание файла и выходной string str = ";"; fis = null; BufferedInputStream bis = null; byte buff [] = new Byte [1024]; try {fis = new FileInputStream (файл); bis = new BufferedInputStream (fis); while ((num = bis.read (buff))! =-1) {str+= new String (buff-8 "); // Распечатать строку json, которая считывает файл} catch (Exception e) {e.printStackTrace ();} наконец {try {fis.close (); bis.close ();} Catch (Exception e) {e.printstacktrace ();}} // Конвертировать данные json в объект и output = json.parray () // данные чтения JSON имеют пробелы, а метод TRIM удаляется для (пользователь obj: list) {system.out.println (obj.getUsername ()+"/t"+obj.getBalance ());}}}}}}}}}}}}}}}}}}Хранение данных JSON в файле TXT в потоке символов
Импорт java.io.bufferedReader; импорт java.io.bufferedwriter; import java.io.file; import java.io.filereader; import java.io.filewriter; импорт java.util.arraylist; import java.util.list; import com.alibaba.json.json; public class {publicfile. args) {list <user> list = new ArrayList <> (); list.add (новый пользователь ("Zhang San", 100)); List.Add (новый пользователь ("Zhang Si", 200)); List.Add (новый пользователь ("zhang wu", 300)); файл файл = new file ("d://uselist.txt"); // хранящий файл файла объекта FileWriter fw = null; BufferedWriter bw = null; try {fw = new FileWriter (файл); bw = new BufferedWriter (FW); String json = json.tojsonstring (list); // конвертировать объект в jsonbw.write (json); // json string file file bw.flush (); System.out.println ("json data worcding upply");} catch (Exception e) {e.printstacktrace ();} наконец {try {bw.close (); fw.close ();} catch (Exception e) {e.printstacktrace ();}} // Читать содержание файла и выходной string str str = "; br = null; try {fr = new FileReader (file); br = new BufferedReader (fr); while ((s = br.readline ())! = null) {str+= s;} system.out.println (str); // Распечатать строку json, которая считывает файл} catch (Exception e) {e.printStackTrace ();} наконец {try {br.close (); fr.close ();} catch (Exception e) {e.printstacktrace ();}} // Конвертируйте данные чтения json в объект и выходные данные = json.parsearray (); for (пользователь obj: list) {System.out.println (obj.getUsername ()+"/t"+obj.getBalance ());}}}}Результаты работы:
JSON DATA PROCTICLE [{«Баланс»: 100, «Имя пользователя»: «Zhang San»}, {«Баланс»: 200, «Имя пользователя»: «Zhang Si»}, {«Баланс»: 300, «Имя пользователя»: «Zhang wu»}] Zhang San 100.0 Zhang Si 200.0 Zhang Wu 300.0]Вопрос: Зачем вам преобразовать объект в JSON, а затем хранить его? Почему бы не хранить объекты непосредственно в файлы? Каковы преимущества использования JSON?
Вопрос 12: Если вы записываете объект непосредственно в файл, возникнет искаженный код, и вам необходимо преобразовать строку JSON, прежде чем хранить ее.
Три вопроса и ответа: преимущества JSON легко передавать, меньше избыточных символов, и их легко конвертировать и читать.