Téléchargez GSON depuis GitHub: https://github.com/google/gson
L'application de GSON comprend principalement deux fonctions de conversion Tojson et Fromjson. Avant d'utiliser cette conversion d'objet, vous devez créer la catégorie d'objet et ses membres pour convertir avec succès la chaîne JSON en objet correspondant.
Exemples de classe {private int réponse1 = 100; chaîne privée Réponse2 = "Hello World!"; Exemples () {} // Constructeur par défaut}Sérialiser les objets Java dans des cordes JSON
Exemples Exemple1 = Nouveaux exemples (); Gson gson = new gson (); String json = gson.tojson (example1);
Le résultat JSON sera
{"Réponse1": 100, "Réponse2": "Hello World!"}Désérialiser les cordes JSON dans des objets Java correspondants
Exemples Exemple2 = gson.fromjson (json, exemples.class);
==> Exemple2 est le même que l'exemple1
L'exemple d'objet1 est sérialisé en une chaîne JSON via TOJSON, puis déclare qu'un exemple d'objet 2 est désérialisé en un exemple2 à Fromjson après avoir reçu JSON. Par conséquent, l'exemple1 est le même que l'exemple2.
Exemple:
import java.util.arraylist; import java.util.arrays; import java.util.collection; import java.util.hashmap; importation java.util.map; import com.google.gson.gson; Importer com.google.gson.reflect.Typetoken; Classe User {public User (String Name, int Age, StringBuffer Sex, boolean ischild) {this.name = name; this.age = âge; this.sex = sexe; this.ischild = ischild; } nom de chaîne privée; Âge privé; Sexe privé de Stringbuffer; Ischild booléen privé; public String toString () {return "{name =" + name + "; age =" + age + "; sex =" + sexe + "; ischild =" + ischild + "}"; } public int hashcode () {return name.hashcode () * 100 + âge; }} classe publique GSonTest {public static void main (String [] args) {gson gson = new gson (); System.out.println ("1Conversion de Bean ordinaire *****************************"); System.out.println ("Convertir un Bean en une chaîne JSON->"); User User1 = New User ("Fengjie", 12, New StringBuffer ("Unknown"), true); System.out.println ("User1 avant la conversion" + user1); String json = gson.tojson (user1); System.out.println ("Objet utilisateur à JSON String, JSON ===" + JSON); System.out.println ("*****************************"); System.out.println ("Convertir une chaîne JSON en bean->"); User user2 = gson.fromjson (json, user.class); System.out.println ("Converti en user2 ==" + user2); System.out.println (); System.out.println ("Converti en collection 2Collection *******************************************"); System.out.println ("Convertir une collection de liste de bean en une chaîne JSON->"); Collection <User> userList1 = new ArrayList <User> (); pour (int i = 0; i <3; i ++) {user user = new User ("ruhua", 10 + i, new StringBuffer ("mâle"), false); userList1.add (utilisateur); } json = gson.tojson (userList1); System.out.println ("L'objet de collecte de liste des utilisateurs est converti en une chaîne JSON, JSON ===" + JSON); System.out.println ("*****************************"); System.out.println ("Convertir une chaîne JSON en une collection de liste de beans->"); Collection <User> userList2 = gson.fromjson (JSON, new TypeToken <collection <User>> () {}. GetType ()); System.out.println ("Convertir en Liste Collection d'utilisateurs, UserList2 =" + UserList2); System.out.println (); System.out.println ("Conversion du tableau 3Array *******************************"); System.out.println ("Convertir un tableau de tableau de bean en une chaîne JSON->"); Utilisateur [] userArray1 = nouvel utilisateur [3]; pour (int i = 0; i <userArray1.length; i ++) {userArray1 [i] = new User ("Hidden", 20, new StringBuffer ("Shemale"), true); } json = gson.tojson (userArray1); System.out.println ("L'objet Array de l'utilisateur est converti en une chaîne JSON, JSON ===" + JSON); System.out.println ("********************************"); System.out.println ("Convertir une chaîne JSON en un objet de tableau de bean->"); User [] userArray2 = gson.fromjson (json, new TypeToken <utilisateur []> () {}. GetType ()); System.out.println ("Convertir à l'objet Array de l'utilisateur, userArray2 =" + arrays.toString (userArray2)); System.out.println (); System.out.println ("Converti 4Map *******************************"); System.out.println ("Convertir la carte d'un bean en une chaîne JSON->"); Map <string, user> map1 = new hashmap <string, user> (); pour (int i = 0; i <3; i ++) {map1.put ("" + (i + 10), userArray1 [i]); } json = gson.tojson (map1); System.out.println ("La collection de cartes de l'utilisateur se convertit en chaînes JSON, JSON ===" + JSON); System.out.println ("*****************************"); System.out.println ("Convertir une chaîne JSON en un objet de tableau de bean->"); Map <string, user> map2 = gson.fromjson (json, new typetoken <map <string, user >> () {}. GetType ()); System.out.println ("Convertir à l'objet Array de l'utilisateur, map2 ==" + map2); }}Résultats en cours:
1Conversion de Bean ordinaire ************************************************************* Converti un bean en une chaîne JSON-> user1 {name = Fengjie; Age = 12; Sex = inconnu; ischild = true} L'objet utilisateur est converti en une chaîne JSON, JSON === {"Name": "Fengjie", "Age": 12, "Sex": "Unknown", "ischild": true} ************************************************************** Age = 12; Sex = innut Conversion ************************************************** Convertir une collection de liste de bean en une chaîne JSON-> Objet de collection de liste des utilisateurs en une chaîne JSON, JSON === [{"name": "ruhua", "âge": 10, "sexe": "mâle", "ischild": false}, {"name": "ruhua", "âge": 11, "sexe": "mâle", "ischild": false}, {"nom": "ruhua", "Âge": 12 " *************************************************. {name = ruhua; Âge = 12; Sex = mâle; ischild = false}] 3Array Array Conversion *************************************************************************************** L'objet de tableau de l'utilisateur est converti en une chaîne JSON, JSON === [{"Name": "Hibi", "Age": 20, "Sex": "Shemale", "Ischild": True}, {"Name": "Hidden", "Age": 20, "Sex": "Shemale", "Ischild": TRUE *****************************. ischild = true}, {name = hibiscus; âge = 20; sex = hemale; ischild = true}, {name = hibiscus; âge = 20; sex = hemale; ischild = true}] 4map Conversion ******************************************************** STRACK AUT JSON === {"10": {"Name": "Hibi", "Age": 20, "Sex": "Shemale", "Ischild": True}, "11": {"Name": "Hibibi", "Age": 20, "Sex": "Shemale", "Ischild": True}, "12": {"Name": "Hibibi", "Age": 20, "Sex": "Shemale", "Ischild": True}} ***************. 12 = {name = HibiBi; âge = 20; Sex = Hermaid; ischild = true}}