https://app.yinxiang.com/fx/f9cc215f-6736-4a4a-8821-abef9559cbb0
1 toJson 和toString的区别
给一个对象
public class UserInfo{
private String name;
private String sex;
}
现在创建一个实例
UserInfo user = UserInfo.Builder().name("大美丽").sex("女").builder();
user.toString() 得倒UserInfo(name=大美丽, sex=女);
new Gson().toJson(user)得倒{"name":"大美丽","sex":"女"}
所以若我们想把一个对象转化为JsonObject缓存起来,应用new Gson().toJson(user)将其转化为json字符串
new Gson().fromJson(datas, new TypeToken<List<String>>() {}.getType()) 转化为List<String>
new Gson().fromJson(datas, new TypeToken<Map<String,String>>() {}.getType()) 转化为Map<String,String>
public class GsonUtl<T> {
private static final Gson GSON= new Gson();
public static Gson getGson() {
return GSON;
}
public static String toJsonString(Object obj){
return GSON.toJson(obj);
}
public static JsonObject toJsonObject(String json){
return GSON.fromJson(json,JsonObject.class);
}
public static JsonObject toJsonObject(Object obj){
return GSON.fromJson(GSON.toJson(obj),JsonObject.class);
}
public static JsonArray toJsonArray(String json){
return JsonParser.parseString(json).getAsJsonArray();
}
public static JsonArray toJsonArray(Object obj){
return JsonParser.parseString(toJsonString(obj)).getAsJsonArray();
}
public static <T> T toJavaObject(String json, Class<T> clazz) {
return GSON.fromJson(json, clazz);
}
public static <T> T toJavaObject(JsonObject json, Class<T> clazz) {
return GSON.fromJson(json, clazz);
}
public static <T> T toJavaObject(JsonObject json, Type t) {
return GSON.fromJson(json, t);
}
public static <T> T toJavaObject(String json, Type t) {
return GSON.fromJson(json, t);
}
public static String getJsonString(String json , String member){
return toJsonObject(json).get(member).getAsString();
}
public static int getJsonInt(String json , String member){
return toJsonObject(json).get(member).getAsInt();
}
public static long getJsonLong(String json , String member){
return toJsonObject(json).get(member).getAsLong();
}
public static void main(String[] args) {
String st = "{\"name\":\"666n\",\"sex\":\"建\"}";
System.out.println(toJsonObject(st));
}
}