Gson解析

来源:互联网 发布:淘宝帐号个人昵称大全 编辑:程序博客网 时间:2024/05/10 07:31

1、导入fastjson-1.2.5、gson-2.0包

2、java代码

package entity;public class User {private int userId;private String userName;private String userPwd;public int getUserId() {return userId;}public void setUserId(int userId) {this.userId = userId;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getUserPwd() {return userPwd;}public void setUserPwd(String userPwd) {this.userPwd = userPwd;}public User(int userId, String userName, String userPwd) {super();this.userId = userId;this.userName = userName;this.userPwd = userPwd;}public User() {super();}@Overridepublic String toString() {return "User [userId=" + userId + ", userName=" + userName+ ", userPwd=" + userPwd + "]";}}
package test;import java.lang.reflect.Type;import java.util.HashMap;import java.util.Map;import com.alibaba.fastjson.JSON;import com.google.gson.Gson;import com.google.gson.JsonObject;import com.google.gson.reflect.TypeToken;import entity.User;public class TestGson {public static void main(String[] args) {/*//简单的数组String[] str={"a","b","c"};int[] i={1,2,3};Gson gson=new Gson();String jsonStr=gson.toJson(str);String jsonI=gson.toJson(i);System.out.println("字符串数据json格式是:"+jsonStr);System.out.println("int数组json格式是:"+jsonI);String[] str1=gson.fromJson(jsonStr, String[].class);int[] i1=gson.fromJson(jsonI, int[].class);System.out.println("字符串数据json格式反解析是:"+Arrays.toString(str1));System.out.println("int数组json格式反解析是:"+Arrays.toString(i1));*//*//mapMap<String,String> map=new HashMap<String, String>();map.put("1", "a");map.put("2", "b");map.put("3", "c");map.put("4", "d");Gson gson=new Gson();String jsonMap=gson.toJson(map);System.out.println("map的json格式是"+jsonMap);//自定义类型Type type=new TypeToken<Map<String,String>>(){}.getType();Map<String,String> map1=gson.fromJson(jsonMap, type);System.out.println("map的json格式反解析是"+map1);//自定义类User user=new User(1, "张三", "123");Gson gson=new Gson();String jsonUser=gson.toJson(user);System.out.println("User的json格式是"+jsonUser);User user1=gson.fromJson(jsonUser, User.class);System.out.println("User的json格式反解析是"+user1);*//*//ListList<User> userList=new ArrayList<User>();userList.add(new User(1, "aaa", "123"));userList.add(new User(2, "bbb", "123"));userList.add(new User(3, "ccc", "123"));Gson gson=new Gson();String jsonList=gson.toJson(userList);System.out.println("List的json格式是"+jsonList);Type type=new TypeToken<List<User>>(){}.getType();List<User> userList1=gson.fromJson(jsonList, type);System.out.println("List的json格式反解析是"+userList1);*//*//Map<String,User>Map<String,User> userMap=new HashMap<String, User>();userMap.put("1", new User(1, "aaa", "123"));userMap.put("2", new User(2, "bbb", "123"));userMap.put("3", new User(3, "ccc", "123"));userMap.put("4", new User(4, "ddd", "123"));Gson gson=new Gson();String jsonUserMap=gson.toJson(userMap);System.out.println("map的json格式是"+jsonUserMap);//自定义类型Type type=new TypeToken<Map<String,User>>(){}.getType();Map<String,String> userMap1=gson.fromJson(jsonUserMap, type);System.out.println("map的json格式反解析是"+userMap1);*//*// 自定keyUser user = new User(1, "张三", "123");JsonObject obj=new JsonObject();obj.addProperty("myId", user.getUserId());obj.addProperty("myName", user.getUserName());obj.addProperty("myPwd", user.getUserPwd());String jsonUser = obj.toString();System.out.println("User的json格式是" + jsonUser);Gson gson=new Gson();Object obj1=gson.fromJson(jsonUser, Object.class);System.out.println("User的json格式反解析是" + obj1);*///Map<String,User>,用自带的JSONMap<String,User> userMap=new HashMap<String, User>();userMap.put("1", new User(1, "aaa", "123"));userMap.put("2", new User(2, "bbb", "123"));userMap.put("3", new User(3, "ccc", "123"));userMap.put("4", new User(4, "ddd", "123"));String jsonUserMap=JSON.toJSON(userMap).toString();System.out.println("map的json格式是"+jsonUserMap);//自定义类型Type type=new TypeToken<Map<String,User>>(){}.getType();Map<String,String> userMap1=JSON.parseObject(jsonUserMap, type);System.out.println("map的json格式反解析是"+userMap1);}}


0 0