J'ai découvert le GSON de Google, parce que j'avais une certaine compréhension de ProtocolBuf auparavant et j'avais une certaine curiosité, j'ai commencé à utiliser GSON.
GitHub Home Page: https://github.com/google/gson
Après la comparaison, GSON et d'autres bibliothèques de classe Java JSON existantes ont les plus grandes différences. GSON doit être sérialisé pour réaliser des classes d'entités sans utiliser d'annotation pour identifier les champs qui doivent être sérialisés. Dans le même temps, GSON peut configurer de manière flexible les champs qui doivent être sérialisés en utilisant l'annotation.
Il est très simple de convertir la liste ou la carte en JSON:
String public getJSondata (list <?> list) {gson gson = new gson (); String jSontring = gson.tojson (liste); retourner jsonstring;}Nous aurons des exemples détaillés ci-dessous.
Exemple
Conversion d'objets simples et conversion de liste avec les génériques:
Classe d'entité:
Étudiant de classe publique {private int id; nom de chaîne privé; anniversaire de rendez-vous privé; public int getID () {return id; } public void setid (int id) {this.id = id; } public String getName () {Nom de retour; } public void setName (string name) {this.name = name; } Public Date getBirthday () {retour anniversaire; } public void SetBirthday (date d'anniversaire) {this.birthday = anniversaire; } @Override public String toString () {return "Student [anniversaire =" + anniversaire + ", id =" + id + ", name =" + name + "]"; }}Classe de test:
import java.util.arraylist; Importer java.util.date; Importer java.util.list; import com.google.gson.gson; Importer com.google.gson.reflect.Typetoken; classe publique GSonTest1 {public static void main (String [] args) {gson gson = new gson (); Student Student1 = New Student (); Student1.setid (1); Student1.setName ("Li kun"); Student1.setBirthday (new Date ()); // /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// / ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// / /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// / ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// / /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// / ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// / ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// / ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// / System.out.println ("JSON à Simple Bean ===" + Student); // Résultat: // bean simple à json === {"id": 1, "nom": "li kun", "anniversaire": "22 juin 2012 8:27:52 AM"} // JSON à Simple Bean === Student [anniversaire = Fri 22 juin 08:27:52 CST 2012, id = 1, // name = li kun] // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////DEBLE //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////DEBLE //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////DEBLE //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////DEBLE Student2 = New Student (); Student2.SetId (2); Student2.SetName ("Cao Guiseng"); Student2.SetBirthday (new Date ()); Student Student3 = New Student (); Student3.setid (3); Student3.SetName ("Liu Bo"); Student3.SetBirthday (new Date ()); List <Student> list = new ArrayList <Student> (); list.add (Student1); list.add (Student2); list.add (Student3); System.out.println ("--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Résultat: // Liste avec les génériques est converti en json == [{"id": 1, "nom": "li kun", "anniversaire": "22 juin 2012 8:28:52 AM"}, {"id": 2, "nom": "Cao Guiseng", "anniversaire": "22 juin": "Liu". Bo "," anniversaire ":" 22 juin 2012 8:28:52 AM "}] // Étudiant [anniversaire = ven 22 juin 08:28:52 CST 2012, id = 1, name = li kun] // étudiant [anniversaire = ven 22 juin 08:28:52 CST 2012, id = 2, nom = Cao GUISHEng] // Student [anniversaire = FRI 22 juin 08:28:52 Cs name = liu bo]}}Résultats de l'exécution:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- PM "}, {" id ": 2," nom ":" Cao Guiseng "," anniversaire ":" 22 juin 2012 9:10:31 "}, {" id ": 3," nom ":" Liu Bo "," anniversaire ":" JUN 22, 2012 9:10:31 PM "}]] Student [anniversaire = FRI 22 21:10:31 CST 2012, Id = 1, 1, li kun] Jun 21:10:31 CST 2012, Id = 1, Name = Li Kun] 22 21:10:31 CST 2012, id = 2, name = Cao Guiseng] Étudiant [anniversaire = ven 22 juin 21:10:31 CST 2012, id = 3, nom = liu bo]