首先创立一个User类,有名字和年龄两个属性(符合javaBean)
使用的是gson第三方jar包
Gson gson = new Gson();
User user1 = new User("andy",12);
User user2 = new User("jack",22);
创建gson对象和user对象
对象转换成json字符串
String json = gson.toJson(user1);
List<User> users = new ArrayList<>();
users.add(user1);
users.add(user2);
json = gson.toJson(users);
Map<String, User> map = new HashMap<>();
map.put("user1", user1);
map.put("user2", user2);
json = gson.toJson(map);
System.out.println(json);
调用gson对象的toJson方法,传入对象,返回json格式字符串
json字符串转换成对象
String json = gson.toJson(user1);
User fromJson1 = gson.fromJson(json, User.class);
List<User> users = new ArrayList<>();
users.add(user1);
users.add(user2);
json = gson.toJson(users);
List list= gson.fromJson(json, new TypeToken<List<User>>(){}.getType());
Map<String, User> map = new HashMap<>();
map.put("user1", user1);
map.put("user2", user2);
json = gson.toJson(map);
Map map1 = gson.fromJson(json, new TypeToken<Map<String,User>>(){}.getType());
System.out.println(map1.entrySet().size());
这里就简单的通过toJson来获取json字符串,然后将json字符串转换成对象。
需要注意的是:如果是转换成普通类型的对象,只需要传入该类的类对象,比如以上代码中的User.class;如果是转换成集合或者map等类型的对象,需要采取创建匿名内部类的方法传入对应的类型。TypeToken类是在gson包中的reflect包中的类