GSON案例[L]

来源:互联网 发布:如何禁止mac电脑上网 编辑:程序博客网 时间:2024/06/06 01:31

<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --><dependency>    <groupId>com.google.code.gson</groupId>    <artifactId>gson</artifactId>    <version>2.2.4</version></dependency>


package vo;import java.util.Date;public class User {private String userName ;private String userPass ;private String sex ;private int age  ;private Date birthDay ;public User(String userName, String userPass, String sex, int age,Date birthDay) {super();this.userName = userName;this.userPass = userPass;this.sex = sex;this.age = age;this.birthDay = birthDay;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getUserPass() {return userPass;}public void setUserPass(String userPass) {this.userPass = userPass;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public Date getBirthDay() {return birthDay;}public void setBirthDay(Date birthDay) {this.birthDay = birthDay;}@Overridepublic String toString() {return "User [userName=" + userName + ", userPass=" + userPass+ ", sex=" + sex + ", age=" + age + ", birthDay="+ birthDay + "]";}}

package gsonTest;import java.util.ArrayList;import java.util.Date;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import com.google.gson.Gson;import com.google.gson.reflect.TypeToken;import vo.User;public class GsonTest {@SuppressWarnings("unchecked")public static void main(String[] args) {Gson gson = new Gson(); // instance object : Gson// 1 test object , create GsonUser user = new User("hh", "123", "男", 20, new Date());String str = gson.toJson(user);System.out.println(str);// -1 test gson ,create objectUser u = (User) gson.fromJson(str, User.class);System.out.println(u.getUserName());// -1 test gson ,create objectUser u2 = (User) gson.fromJson(str, new TypeToken<User>() {}.getType());System.out.println(u2.getUserName());// 2 test List ,create GsonList<User> listUser = new ArrayList<User>();listUser.add(new User("rr1", "123", "女", 25, new Date()));listUser.add(new User("rr2", "123", "女", 25, new Date()));listUser.add(new User("rr3", "123", "女", 25, new Date()));String listStr = gson.toJson(listUser);System.out.println(listStr);// -2 test String ,create list@SuppressWarnings("unchecked")List<User> list2 = (List<User>) gson.fromJson(listStr,new TypeToken<List<User>>() {}.getType());for (User ux : list2) {System.out.println(ux.getUserName());}// 3 test Nested list<list> ,create GsonList<List<User>> list = new ArrayList<List<User>>();list.add(listUser);list.add(listUser);String list2Str = gson.toJson(list);System.out.println(list2Str);// -3 test String ,create list<list>List<List<User>> llu = new ArrayList<List<User>>();llu = (List<List<User>>) gson.fromJson(list2Str,new TypeToken<List<List<User>>>() {}.getType());for (List<User> lu : llu) {for (User u1 : lu) {System.out.println(u1.getUserName());}}// 4 test Map ,create Gson ;Map<String, String> gmap = new HashMap<String, String>();gmap.put("111", "222");gmap.put("222", "333");gmap.put("444", "555");String strgmap = gson.toJson(gmap);System.out.println(strgmap);// -4 test String ,create MapMap<String, String> map2 = new HashMap<String, String>();map2 = (Map<String, String>) gson.fromJson(strgmap,new TypeToken<Map<String, String>>() {}.getType());Iterator<String> it = map2.keySet().iterator();while (it.hasNext()) {String key = it.next();System.out.println(key + "==" + map2.get(key));}// 5 test map<String,object>Map<String, Object> objmap = new HashMap<String, Object>();objmap.put("111", new User("rr1", "123", "女", 25, new Date()));objmap.put("222", new User("rr2", "123", "女", 25, new Date()));objmap.put("333", new User("rr3", "123", "女", 25, new Date()));String mapobj = gson.toJson(objmap);System.out.println(mapobj);// -5 test String ,create MapMap<String, User> map3 = new HashMap<String, User>();Gson gg = new Gson();map3 = gg.fromJson(mapobj, new TypeToken<Map<String, User>>(){}.getType());Iterator<String> it2 = map3.keySet().iterator();while (it2.hasNext()) {String key = it2.next();System.out.println(key + "==" + map3.get(key));}// 6 test Nested list<Map> ,create GsonList<Map<String, String>> map = new ArrayList<Map<String, String>>();Map<String, String> mm = new HashMap<String, String>();mm.put("111", "222");mm.put("222", "333");mm.put("444", "555");Map<String, String> mm2 = new HashMap<String, String>();mm2.put("111", "222");Map<String, String> mm3 = new HashMap<String, String>();mm3.put("111", "222");map.add(mm);map.add(mm2);map.add(mm3);String strMap = gson.toJson(map);System.out.println(strMap);// -6 List<Map<String, String>> map4 = new ArrayList<Map<String, String>>();map4 = (List<Map<String, String>>) gson.fromJson(strMap, new TypeToken<List<Map<String,String>>>(){}.getType());for(Map  m:map4){System.out.println(m);Iterator<String> it3 = m.keySet().iterator();while (it3.hasNext()) {String key = it3.next();System.out.println(key + "==" + m.get(key));}}}}


原创粉丝点击