Я обнаружил Google Gson, потому что у меня было некоторое понимание протоколбуфа и имел некоторое любопытство, я начал использовать GSON.
ГИТУБ HOMEPAGE: https://github.com/google/gson
После сравнения, GSON и другие существующие библиотеки JAVA JSON Class имеют самые большие различия. GSON должен быть сериализован для достижения классов сущности без использования аннотации для определения полей, которые необходимо сериализовать. В то же время GSON может гибко настраивать поля, которые необходимо сериализовать с помощью аннотации.
Очень просто конвертировать список или карту в JSON:
public String getjsondata (List <?> List) {gson Gson = new Gson (); String jsonstring = gson.tojson (list); вернуть jsonstring;}У нас будут подробные примеры ниже.
Пример
Простая конверсия объекта и преобразование списка с помощью Generics:
Класс сущности:
студент открытого класса {Private Int ID; Приватное название строки; частное свидание по случаю дня рождения; 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 (дата рождения) {this.BirthDay = день рождения; } @Override public String toString () {return "Студент [день рождения =" + день рождения + ", id =" + id + ", name =" + name + "]"; }}Тестовый класс:
импортировать java.util.arraylist; импортировать java.util.date; импортировать java.util.list; Импорт com.google.gson.gson; Импорт com.google.gson.reflect.typetoken; открытый класс gsontest1 {public static void main (string [] args) {gson gson = new gson (); Студент 1 = новый студент (); Студент1.setid (1); Student1.setName ("Li Kun"); Студент1.SetBirthDay (New Date ()); // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// System.out.println ("json to simple bean ===" + студент); // Результат: // Простой бон к json === {"id": 1, "name": "li kun", "День рождения": "22 июня 2012 г. 8:27:52 утра"} // json to simple bean === Студент [День рождения = пятница 22 июня 08:27:52 CST 2012, id = 1, // name = li kun]/////////// //////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////// Студент2 = новый студент (); Студент2.setid (2); Студент2.setname ("Cao Guisheng"); Студент2.SetBirthDay (новая дата ()); Студент Студент3 = новый студент (); Студент3.setid (3); Студент3.SetName ("Лю бо"); Студент3.SetBirthDay (новая дата ()); List <toold> list = new Arraylist <tlood> (); list.add (Student1); list.add (студент2); list.add (Student3); System.out.println ("--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Результат: // Список с Generics преобразуется в json == [{"id": 1, "name": "li Kun", "День рождения": "22 июня 2012 г. 8:28:52 утра"}, {"id": 2, "name": "Cao Guisheng", "День рождения": "22 июня, 2012 8:28:52 AM"}, {Id ":" 3, ":" 3, ":" 3, ":": ":" 3, ":" 3, ":" 3, ":" 3, ". Bo "," День рождения ":" 22 июня 2012 г. 8:28:52 AM "}] // Студент [День рождения = пт 22 июня 08:28:52 CST 2012, ID = 1, имя = li Kun] // Студент [День рождения = пятница 22 июня 08:28:52 CST 2012, ID = 2, имя = Cao Guisheng] / / / Студент [День рождения = Fri 22:2: 2 201 2012:2. name = liu bo]}}Результаты исполнения:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------. PM "}, {" id ": 2," name ":" cao guisheng "," день рождения ":" 22 июня 2012 г. 9:10:31 "}, {" id ": 3," имя ":" Лю бо "," День рождения ":" 22 июня 2012 г. 9:10:31 PM "}] 22 21:10:31 CST 2012, id = 2, name = cao Guisheng] Студент [День рождения = пт 22 июня 21:10:31 CST 2012, ID = 3, имя = liu bo]