一个json对象相互转化工具类

来源:互联网 发布:北京四中网络课程 编辑:程序博客网 时间:2024/06/16 14:19

大佬用gson写的工具类。


import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import com.google.gson.Gson;import com.google.gson.JsonArray;import com.google.gson.JsonElement;import com.google.gson.JsonObject;import com.google.gson.JsonParser;import com.google.gson.reflect.TypeToken;/** *  * @author vic * @desc json util  */public class JSONUtil {private static Gson gson = null; static{gson  = new Gson();//todo yyyy-MM-dd HH:mm:ss }public static synchronized Gson newInstance(){if(gson == null){gson =  new Gson();}return gson;}public static String toJson(Object obj){return gson.toJson(obj);}public static <T> T toBean(String json,Class<T> clz){return gson.fromJson(json, clz);}public static <T> Map<String, T> toMap(String json,Class<T> clz){ Map<String, JsonObject> map = gson.fromJson(json, new TypeToken<Map<String,JsonObject>>(){}.getType()); Map<String, T> result = new HashMap<>(); for(String key:map.keySet()){ result.put(key,gson.fromJson(map.get(key),clz) ); } return result;}public static Map<String, Object> toMap(String json){ Map<String, Object> map = gson.fromJson(json, new TypeToken<Map<String,Object>>(){}.getType()); return map;}public static <T> List<T> toList(String json,Class<T> clz){JsonArray array = new JsonParser().parse(json).getAsJsonArray();  List<T> list  = new ArrayList<>();for(final JsonElement elem : array){           list.add(gson.fromJson(elem, clz));    }    return list;}public static void main(String[] args) {}}



原创粉丝点击