Скачать GSON с GitHub: https://github.com/google/gson
Приложение GSON в основном включает в себя две функции преобразования Tojson и Fromjson. Прежде чем использовать это преобразование объекта, вам необходимо создать категорию объектов и его участников, чтобы успешно преобразовать строку JSON в соответствующий объект.
Примеры класса {private int answer1 = 100; Приватная строка answer2 = "Привет, мир!"; Примеры () {} // конструктор по умолчанию}Сериализовать объекты Java в струны json
Примеры пример1 = новые примеры (); Gson Gson = new Gson (); String json = gson.tojson (пример1);
Результат JSON будет
{"ответ1": 100, "ответ2": "Привет, мир!"}DeShialize Json Strings в соответствующие объекты Java
Примеры пример2 = gson.fromjson (json, examples.class);
==> Пример2 такой же, как пример1
Пример объекта1 сериализуется в строку JSON через Tojson, а затем заявляет, что пример объекта 2 детериализируется в пример 2 через FromJson после получения JSON. Следовательно, пример1 такой же, как пример2.
Пример:
импортировать java.util.arraylist; импортировать java.util.arrays; Импорт java.util.collection; импортировать java.util.hashmap; импортировать java.util.map; Импорт com.google.gson.gson; Импорт com.google.gson.reflect.typetoken; класс пользователь {public user (string name, int age, stringbuffer sex, boolean ischild) {this.name = name; this.age = возраст; this.sex = sex; this.ischild = ischild; } private String name; частный int возраст; Частный секс Stringbuffer; Частный логический ишильд; public String toString () {return "{name ="+name+"; age ="+age+"; sex ="+sex+"; ischild ="+ischild+"}"; } public int hashcode () {return name.hashcode ()*100+age; }} открытый класс gsontest {public static void main (string [] args) {gson gson = new gson (); System.out.println ("1 Конверсии обычных бобов *****************************"); System.out.println ("преобразовать боб в json string->"); Пользователь пользователь1 = новый пользователь ("fengjie", 12, new StringBuffer ("Неизвестно"), True); System.out.println ("user1 до преобразования"+user1); String json = gson.tojson (user1); System.out.println ("Пользовательский объект на json string, json ==="+json); System.out.println ("***************************"); System.out.println ("Преобразовать строку json в Bean->"); Пользователь user2 = gson.fromjson (json, user.class); System.out.println ("конвертировать в user2 =="+user2); System.out.println (); System.out.println («Преобразовать в коллекцию 2 -х обработки *************************************** System.out.println («Преобразовать коллекцию списков бобов в json string->»); Коллекция <user> userList1 = новый ArrayList <user> (); for (int i = 0; i <3; i ++) {user user = новый пользователь ("ruhua", 10+i, new Stringbuffer ("male"), false); userlist1.add (пользователь); } json = gson.tojson (userlist1); System.out.println («Объект сбора списков пользователей преобразуется в строку json, json ===»+json); System.out.println ("***************************"); System.out.println («Преобразовать строку JSON в коллекцию списков бобов->»); Коллекция <user> userlist2 = gson.fromjson (json, new typetoken <collection <user >> () {}. GetType ()); System.out.println ("конвертировать в списки коллекции пользователей, userlist2 ="+userlist2); System.out.println (); System.out.println ("Преобразование 3рарей массив *****************************"); System.out.println («Преобразовать массив массива бобов в json string->»); User [] userArray1 = новый пользователь [3]; for (int i = 0; i <userArray1.length; i ++) {userArray1 [i] = новый пользователь ("Hidden", 20, New StringBuffer ("Shemale"), True); } json = gson.tojson (userArray1); System.out.println («Объект массива пользователя преобразуется в строку json, json ===»+json); System.out.println ("**********************************); System.out.println ("Преобразовать строку json в объект массива Bean->"); User [] userarray2 = gson.fromjson (json, new typetoken <user []> () {}. GetType ()); System.out.println ("Преобразовать в объект массива пользователя, userarray2 ="+arrays.tostring (userarray2)); System.out.println (); System.out.println ("преобразовать 4map *****************************"); System.out.println («Преобразовать карту боба в json string->»); Map <string, user> map1 = new hashmap <string, user> (); for (int i = 0; i <3; i ++) {map1.put (""+(i+10), userArray1 [i]); } json = gson.tojson (map1); System.out.println («Коллекция карт пользователя преобразуется в строки json, json ===»+json); System.out.println ("***************************"); System.out.println ("Преобразовать строку json в объект массива Bean->"); Map <string, user> map2 = gson.fromjson (json, new typetoken <map <string, user >> () {}. GetType ()); System.out.println ("преобразовать в объект массива пользователя, map2 =="+map2); }}Результаты работы:
1 Конверсии обычных бобов ***************************************************** json === {"name": "fengjie", "Age": 12, "sex": "неизвестно", "ischild": true} ************************************************** преобразование ********************************************** Конвертировать коллекцию списков бобов в объект коллекции списка пользователей в строку JSON, в строку JSON, json === [{"name": "ruhua", "Age": 10, "sex": "Male", "ischild": false}, {"name": "ruhua", "Age": 11, "sex": "Male", "Ischild": False}, {"name": "Ruhua", ",": ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", "ISe": "stele", "stele": "stele", "stele", "stele", "stele", "stele", "stele": "? *********************************************** • {name = ruhua; age = 12; sex = male; ischild = false}] 3райр json === [{"name": "hibi", "Age": 20, "sex": "Shemale", "ischild": true}, {"name": "hidden", "Age": 20, «Секс»: «Шемей», «Ишильд»: True}, {«имя»: «скрытое», «Возраст»: 20, «Секс»: «Шемей», «Ишильд»: true}] ******************************************************* ischild = true}, {name = hibiscus; age = 20; sex = hemale; ischild = true}, {name = hibiscus; age = 20; sex = hemale; ischild = true}] 4map преобразование ************************************** json === {"10": {"name": "Hibi", "Age": 20, "Sex": "Shemale", "Ischild": true}, "11": {"name": "Hibibi", "Age": 20, «Секс»: «Шемей», «Ишильд»: True}, "12": {"name": "Hibibi", "Age": 20, "Sex": "Shemale", "Ischild": true}} ************************************************************************* 12 = {name = hibibi; age = 20; sex = hermaid; ischild = true}}