import java.lang.reflect.Type;
import java.util.Map;
import com.google.gson.Gson;
import com.google.gson.JsonSyntaxException;
public class JsonUtils {
public static Map<String, Object> fromJson(String json) {
return fromJson(json, Map.class);
}
public static String toJson(Object src) {
Gson gson = new Gson();
return gson.toJson(src);
}
public static <T> T fromJson(String json, Type typeOfT) {
Gson gson = new Gson();
return (T) gson.fromJson(json, typeOfT);
}
public static boolean isValidJson(String json) {
try {
fromJson(json);
return true;
} catch(JsonSyntaxException ex) {
return false;
}
}
public static boolean isValidJson(String json, Type typeOfT) {
try {
fromJson(json, Map.class);
return true;
} catch(JsonSyntaxException ex) {
return false;
}
}
}
使用方式:
[JSON 轉 Map]
Map<String,
Object> retMap = JsonUtils.fromJson(jsonData);
傳入 JSON 字串 jsonData
==> JsonUtils.fromJson(jsonData)
回傳型態為 Map<String, Object> 之 map: retMap
[Map 轉 JSON]
String
jsonString = JsonUtils.toJson(mapData);
傳入 型態為
Map<String, Object> 之 map mapData ==> JsonUtils.toJson(mapData);
回傳 JSON 字串 jsonString
沒有留言:
張貼留言