Ich entdeckte Googles GSON, weil ich schon einmal ein Verständnis für Protokollbuf hatte und Neugier hatte, begann ich mit GSON zu verwenden.
Github Homepage: https://github.com/google/gson
Nach dem Vergleich haben GSON und andere bestehende Bibliotheken der Java JSON -Klasse die größten Unterschiede. GSON muss serialisiert werden, um Entitätsklassen zu erreichen, ohne Annotation zu verwenden, um Felder zu identifizieren, die serialisiert werden müssen. Gleichzeitig kann GSON Felder flexibel konfigurieren, die mit Annotation serialisiert werden müssen.
Es ist sehr einfach, die Liste oder Karte in JSON umzuwandeln:
public String getJSondata (Liste <?> Liste) {gson gson = new gson (); String jSonstring = gson.tojson (Liste); Rückgabe jSonstring;}Wir werden nachstehend detaillierte Beispiele haben.
Beispiel
Einfache Objektkonvertierung und Listenkonvertierung mit Generika:
Entitätsklasse:
Student der öffentlichen Klasse {private int id; privater Zeichenfolge Name; Privatdatum Geburtstag; public int getid () {return id; } public void setId (int id) {this.id = id; } public String getName () {return name; } public void setName (String -Name) {this.name = name; } public date getBirthday () {Return Birthday; } public void setBirthday (Datum Geburtstag) {this.birthday = Geburtstag; } @Override public String toString () {return "student [birthday =" + birthday + ", id =" + id + ", name =" + name + "]"; }}Testklasse:
Import Java.util.ArrayList; import Java.util.date; importieren java.util.list; import com.google.gson.gson; import com.google.gson.reflect.typepeken; public class gsontest1 {public static void main (String [] args) {gson gson = new gson (); Student student1 = neuer student (); student1.setid (1); Student1.SetName ("Li Kun"); student1.setBirthday (neues Datum ()); // /////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// System.out.println ("JSON to Simple Bean ===" + Student); // Ergebnis: // Einfache Bean zu Json === {"ID": 1, "Name": "Li Kun", "Geburtstag": "22. Juni 2012 8:27:52 Uhr"} // json zu einfacher Bean === Student [Geburtstag = Fri 22. Juni 22.27. //////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////// Student2 = neuer Schüler (); student2.setid (2); Student2.SetName ("Cao Guisheng"); student2.setBirthday (neues Datum ()); Student student3 = neuer student (); Student3.Setid (3); Student3.SetName ("Liu Bo"); Student3.SetBirthday (neues Datum ()); List <Student> list = new ArrayList <Studenten> (); list.add (student1); list.add (student2); list.add (student3); System.out.println("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Result: // List with generics is converted to json==[{"id":1,"name":"Li Kun","birthDay":"Jun 22, 2012 8:28:52 AM"},{"id":2,"name":"Cao Guisheng","birthDay":"Jun 22, 2012 8:28:52 AM"},{"id":3,"name":"Liu BO "," Geburtstag ":" 22. Juni 2012 8:28:52 "}] // Student [Geburtstag = Fri 22. Juni 08:28:52 CST 2012, ID = 1, Name = Li Kun] // Student [Geburtstag = Fri 22. Juni 08:28:52 CST 2012, ID = 2, Name = Cao Guisheng] // Student [Geburtstag = Student [Geburtstag = Student [Student), 22.22. name = liu bo]}}Ausführungsergebnisse:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ PM "}, {" ID ": 2," Name ":" Cao Guisheng "," Geburtstag ":" 22. Juni 2012, 9:10:31 PM "}, {" ID ": 3," Name ":" Liu bo "," Geburtstag ":" Birthday ":" 22. Juni 2012 9:10:31 PM "}] student [birthday = fri 22 21:10:31 CST 2012, ID = 2, Name = Cao Guisheng] Student [Geburtstag = Fri 22. Juni 21:10:31 CST 2012, ID = 3, Name = Liu Bo]