Utilisez l'outil de conversion JSON tiers, l'outil de conversion JSON Alibaba Fastjson1.2.7.
//www.vevb.com/softs/530842.html
Remarque: Je ne répéterai pas l'importation de packages JAR, veuillez vous référer à Baidu pour plus de détails.
Classe utilisateur, définir deux propriétés et créer des constructeurs, obtenir et définir des méthodes
public class user {public String username; // Nommez le double bilan public; // montant public utilisateur () {super ();} public utilisateur (String Username, double équilibre) {super (); this.userName = nom d'utilisateur; 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 bilan) {this.balance = balance;}}}Streaming d'octets pour stocker les données JSON dans le fichier txt
Importer java.io.BufferedInputStream; Importer java.io.bufferedoutputStream; Importer java.io.file; import java.io.fileInputStream; Importer java.io.fileoutputStream; import java.util.arraylist; import java.util.List; Import Com.alibaba.fastj main (String [] args) {list <serv> list = new ArrayList <> (); list.add (nouvel utilisateur ("Zhang San", 100)); list.add (nouvel utilisateur ("Zhang Si", 200)); list.add (nouvel utilisateur ("Zhang Wu", 300)); fichier file = nouveau fichier ("d: /UseList.txt"); // Fichier d'objet stocké FileOutputStream fos = null; BufferedOutputStream bos = null; try {fos = new FileOutputStream (file); bos = new BufferedOutputStream (fos); string json = json.tojSontring (list); // Convertir l'objet en jsonbos.write (json.getbytes ("utf-8")); // JSON String écrit pour fichier bos.flush (); System.out.println ("JSON Data Writing terminé");} catch (exception e) {e.printStackTrace ();} enfin {try {fos.close (); bos.close ();} catch (exception e) {e.printstackTrace ();}} // Read le contenu du fichier et la sortie de sortie Str = "; fis = null; bufferedInputStream bis = null; byte buff [] = new octet [1024]; try {fis = new FileInputStream (fichier); bis = new bufferedInputStream (fis); while ((num = bis.read (buff))! = - 1) {STR + = new String (buff, "utf-8");} Système. // Imprime la chaîne JSON qui lit le fichier} catch (exception e) {e.printStackTrace ();} enfin {try {fis.close (); bis.close ();} catch (exception e) {e.printstacktrace ();}} // convertit les données de lecture JSON dans un objet, et sortie); // Les données de lecture JSON ont des espaces, et la méthode de garniture supprime pour (utilisateur obj: list) {System.out.println (obj.getUsername () + "/ t" + obj.getBalance ());}}}}Stockage des données JSON sur le fichier TXT dans un flux de caractères
Importer java.io.bufferedReader; import java.io.bufferedwriter; import java.io.file; import java.io.fileReader; importer java.io.filewriter; import java.util.arraylist; import java.util.list; Importer com.alibaba args) {list <utilisateur> list = new ArrayList <> (); list.add (nouvel utilisateur ("Zhang San", 100)); list.add (nouvel utilisateur ("Zhang Si", 200)); list.add (nouvel utilisateur ("Zhang Wu", 300)); fichier file = new File ("d: /UseList.txt"); // File d'objet stocké Filewriter fw = null; tampondWriter bw = null; try {fw = new FileWriter (fichier); bw = new bufferedwriter (fw); string json = json.tojSontring (list); // Convertir l'objet en jsonbw.write (json); // json string write file bw.flush (); System.out.println ("JSON Data Writing terminé");} catch (exception e) {e.printStackTrace ();} Enfin {try {bw.close (); fw.close ();} catch (exception e) {e.printstacktrace ();}} // Lecteur du fichier et de la sortie de la chaîne STRING STRALD = "; Fr = null; BufferedReader br = null; try {Fr = new FileReader (fichier); br = new BufferedReader (fr); while ((s = br.readline ())! = null) {str + = s;} System.out.println (str); // imprime la chaîne JSON qui lit le fichier} catch (exception e) {e.printStackTrace ();} enfin {try {br.close (); fr.close ();} catch (exception e) {e.printStackTrace ();}} // converti la lecture de la data json en un objet et sortie = json.paSearray (str.trim (), user.class); pour (utilisateur obj: list) {System.out.println (obj.getUserName () + "/ t" + obj.getBalance ());}}}}Résultats en cours:
Écriture de données JSON terminée [{"Balance": 100, "nom d'utilisateur": "Zhang San"}, {"Balance": 200, "nom d'utilisateur": "Zhang Si"}, {"Balance": 300, "Username": "Zhang Wu"}] Zhang San 100.0 Zhang Si 200.0 Zhang Wu 300.0.0Question: Pourquoi avez-vous besoin de convertir l'objet en JSON puis de le stocker? Pourquoi ne pas stocker des objets directement dans les fichiers? Quels sont les avantages de l'utilisation de JSON?
Question 12: Si vous écrivez l'objet directement dans un fichier, le code brouillé se produira et vous devez convertir la chaîne JSON avant de la stocker.
Trois questions et réponses: les avantages de JSON sont faciles à transmettre, moins de caractères redondants et sont faciles à convertir et à lire.