java对象和json互相转换
发布时间:2020-12-15 03:14:19 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 package com.lecast.json.until;import java.lang.reflect.Type;import java.text.ParseException;import java.text.SimpleDateFormat;import java.ut
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 package com.lecast.json.until; import java.lang.reflect.Type; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Map; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonDeserializer; import com.google.gson.JsonElement; import com.google.gson.JsonParseException; import com.google.gson.JsonPrimitive; import com.google.gson.JsonSerializationContext; import com.google.gson.JsonSerializer; /** * json 简单操作的工具类 * @author lee.li * */ public class JsonUtil{ private static Gson gson=null; static{ if(gson==null){ gson=new Gson(); } } private JsonUtil(){} /** * 将对象转换成json格式 * @param ts * @return */ public static String objectToJson(Object ts){ String jsonStr=null; if(gson!=null){ jsonStr=gson.toJson(ts); } return jsonStr; } /** * 将对象转换成json格式(并自定义日期格式) * @param ts * @return */ public static String objectToJsonDateSerializer(Object ts,final String dateformat){ String jsonStr=null; gson=new GsonBuilder().registerTypeHierarchyAdapter(Date.class,new JsonSerializer<Date>() { public JsonElement serialize(Date src,Type typeOfSrc,JsonSerializationContext context) { SimpleDateFormat format = new SimpleDateFormat(dateformat); return new JsonPrimitive(format.format(src)); } }).setDateFormat(dateformat).create(); if(gson!=null){ jsonStr=gson.toJson(ts); } return jsonStr; } /** * 将json格式转换成list对象 * @param jsonStr * @return */ public static List<?> jsonToList(String jsonStr){ List<?> objList=null; if(gson!=null){ java.lang.reflect.Type type=new com.google.gson.reflect.TypeToken<List<?>>(){}.getType(); objList=gson.fromJson(jsonStr,type); } return objList; } /** * 将json格式转换成map对象 * @param jsonStr * @return */ public static Map<?,?> jsonToMap(String jsonStr){ Map<?,?> objMap=null; if(gson!=null){ java.lang.reflect.Type type=new com.google.gson.reflect.TypeToken<Map<?,?>>(){}.getType(); objMap=gson.fromJson(jsonStr,type); } return objMap; } /** * 将json转换成bean对象 * @param jsonStr * @return */ public static Object jsonToBean(String jsonStr,Class<?> cl){ Object obj=null; if(gson!=null){ obj=gson.fromJson(jsonStr,cl); } return obj; } /** * 将json转换成bean对象 * @param jsonStr * @param cl * @return */ @SuppressWarnings("unchecked") public static <T> T jsonToBeanDateSerializer(String jsonStr,Class<T> cl,final String pattern){ Object obj=null; gson=new GsonBuilder().registerTypeAdapter(Date.class,new JsonDeserializer<Date>() { public Date deserialize(JsonElement json,Type typeOfT,JsonDeserializationContext context) throws JsonParseException { SimpleDateFormat format=new SimpleDateFormat(pattern); String dateStr=json.getAsString(); try { return format.parse(dateStr); } catch (ParseException e) { e.printStackTrace(); } return null; } }).setDateFormat(pattern).create(); if(gson!=null){ obj=gson.fromJson(jsonStr,cl); } return (T)obj; } /** * 根据 * @param jsonStr * @param key * @return */ public static Object getJsonValue(String jsonStr,String key){ Object rulsObj=null; Map<?,?> rulsMap=jsonToMap(jsonStr); if(rulsMap!=null&&rulsMap.size()>0){ rulsObj=rulsMap.get(key); } return rulsObj; } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |