Laden Sie GSON von Github herunter: https://github.com/google/gson
Die Anwendung von GSON enthält hauptsächlich zwei Konvertierungsfunktionen, die Tojson und von Json. Bevor Sie diese Objektkonvertierung verwenden, müssen Sie die Objektkategorie und ihre Mitglieder erstellen, um die JSON -Zeichenfolge erfolgreich in das entsprechende Objekt umzuwandeln.
Klassenbeispiele {private int Answer 1 = 100; private String Antwort2 = "Hallo Welt!"; Beispiele () {} // Standardkonstruktor}Serialisieren Sie Java -Objekte in JSON -Saiten
Beispiele Beispiel1 = neue Beispiele (); Gson gson = new gson (); String json = gson.tojson (Beispiel1);
JSON -Ergebnis wird sein
{"Antwort1": 100, "Antwort2": "Hallo Welt!"}Deserialisieren Sie JSON -Strings in entsprechende Java -Objekte
Beispiele Beispiel2 = gson.fromjson (JSON, Beispiele.Class);
==> Beispiel2 ist das gleiche wie Beispiel1
Das Objektbeispiel1 wird in eine JSON -String durch Tojson serialisiert und erklärt dann, dass ein Objekt Beispiel2 nach dem Empfangen von JSON in ein Beispiel2 durch JSON des JSON von Deserialisiert wird. Daher ist Beispiel1 das gleiche wie Beispiel2.
Beispiel:
Import Java.util.ArrayList; Import Java.util.Arrays; Import Java.util.Collection; import Java.util.hashMap; import Java.util.map; import com.google.gson.gson; import com.google.gson.reflect.typepeken; Klasse User {public user (String -Name, int Alter, StringBuffer Sex, boolean ischild) {this.name = name; this.age = Alter; this.sex = sex; this.ishild = ischild; } privater Zeichenfolge Name; privates int Alter; privates StringBuffer -Sex; privates boolesches Ischild; public String toString () {return "{name ="+name+"; ay"+age+"; sex ="+sex+"; ischild ="+ischild+"}"; } public int HashCode () {return name.hashCode ()*100+Alter; }} public class gSontest {public static void main (String [] args) {gson gson = new gson (); System.out.println ("1Conversion der gewöhnlichen Bean ***************************"); System.out.println ("eine Bohne in einen JSON-String->"); User user1 = neuer user ("fengjie", 12, neuer StringBuffer ("unbekannt"), true); System.out.println ("user1 vor Conversion"+user1); String json = gson.tojson (user1); System.out.println ("Benutzerobjekt zu JSON String, JSON ==="+JSON); System.out.println("***************************"); System.out.println ("eine JSON-String in Bean->"); User user2 = gson.fromjson (json, user.class); System.out.println ("in user2 =="+user2 konvertieren; System.out.println (); System.out.println ("In 2Collection Collection konvertieren System.out.println ("Konvertieren Sie die Liste einer Bean in ein JSON-String->"); Sammlung <Unter> userList1 = new ArrayList <Bers> (); für (int i = 0; i <3; i ++) {user user = new user ("ruhua", 10+i, neuer StringBuffer ("männlich"), false); userList1.add (Benutzer); } json = gson.tojson (userList1); System.out.println ("Benutzerlistensammlungsobjekt wird in einen JSON -String konvertiert, JSON ==="+JSON); System.out.println("***************************"); System.out.println ("eine JSON-String in eine Listensammlung von Beans->"); Collection <Unter> userList2 = gson.fromjson (JSON, New TypEToken <Collection <user >> () {}. GettType ()); System.out.println ("Konvertieren Sie die Erfassung von Benutzern, userList2 ="+userList2); System.out.println (); System.out.println ("Umwandlung von 3Array Array ***************************"); System.out.println ("Ein Array-Array von Bean in eine JSON-String->"); User [] userArray1 = neuer Benutzer [3]; für (int i = 0; i <userArray1.length; i ++) {userArray1 [i] = neuer Benutzer ("Hidden", 20, New StringBuffer ("Shemale"), true); } json = gson.tojson (userArray1); System.out.println ("Das Array -Objekt des Benutzers wird in einen JSON -String konvertiert, JSON ==="+JSON); System.out.println("******************************"); System.out.println ("eine JSON-String in ein Array-Objekt von Bean->"); User [] userArray2 = gson.fromjson (JSON, New TypEToken <Benerschaften []> () {}. GettType ()); System.out.println ("Konvertieren Sie sie in das Array -Objekt von Benutzer, userArray2 ="+arrays.toString (userArray2)); System.out.println (); System.out.println ("konvertieren 4Map ************************************************ System.out.println ("Konvertieren Sie die Karte einer Bean in einen JSON-String->"); Karte <string, user> map1 = new HashMap <String, Benutzer> (); für (int i = 0; i <3; i ++) {map1.put (""+(i+10), userArray1 [i]); } json = gson.tojson (MAP1); System.out.println ("Benutzerkartensammlung konvertiert in JSON Strings, JSON ==="+JSON); System.out.println("***************************"); System.out.println ("eine JSON-String in ein Array-Objekt von Bean->"); Karte <string, user> map2 = gson.fromjson (JSON, neue TypeToken <map <String, Benutzer >> () {}. GettType ()); System.out.println ("Konvertieren in das Array -Objekt des Benutzers, map2 =="+map2); }}Auslaufergebnisse:
1Konversion der gewöhnlichen Bean* JSON === {"Name": "Fengjie", "Alter": 12, "Sex": "Unbekannt", "Ischild": wahr} **************************************************************************************************************************** conversion************************************************ Convert a Bean's List collection into a json string-> User's List collection object into a Json string, json===[{"name":"Ruhua","age":10,"sex":"Male","isChild":false},{"name":"Ruhua","age":11,"sex":"Male","isChild":false},{"name":"Ruhua","age":12,"sex":"Male","isChild":false}] ********** {name = ruhua; Alter = 12; Sex = männlich; ISCHILD = False}] 3Array Array Conversion* JSON === [{"Name": "Hibi", "Alter": 20, "Sex": "Shemale", "Ischild": True}, {"Name": "Hidden", "Age": 20,, "Sex": "Shemale", "Ischild": wahr}, {"Name": "Hidden", "Alter": 20, "Sex": "Shemale", "Ischild": wahr}] ******************************************************* Convert a json string to an array object of a bean->Convert to the array object of the User to the user, userArray2=[{name=Hidden;age=20;sex=Hidden; isChild=true}, {name=hibiscus;age=20;sex=hemale;isChild=true}, {name=hibiscus;age=20;sex=hemale;isChild=true}] 4Map conversion************************************************ Convert a Bean's Map to a json string-> User's Map collection is converted into Json string, JSON === {"10": {"Name": "Hibi", "Alter": 20, "Sex": "Shemale", "Ischild": True}, "11": {"Name": "Hibibi", "Alter": 20, "Sex": "Shemale", "Ischild": True}, "12": {"Name": "Hibibi", "Alter": 20, "Sex": "Shemale", "Ischild": wahr}} *************************************************************************** Convert to the array object of User, map2=={10={name=hibi;age=20;sex=hermaid;isChild=true}, 11={name=hibibi;age=20;sex=hermaid;isChild=true}, 12 = {name = hibibi; Alter = 20; sex = hermaid; ischild = true}}