您的位置:首页 > 其它

Gson解析

2016-02-24 21:39 381 查看
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();
}
@Override
public 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));*/

/*//map
Map<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);*/

/*//List
List<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);*/

/*// 自定key
User 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>,用自带的JSON
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"));
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);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: