package net.laoyeye.yyblog.common.utils; import com.alibaba.druid.util.StringUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import java.util.HashMap; import java.util.Map; /** * fastjson转换工具 * 这个工具好像有点BUG,待发现后修改 * beta版本有个jackjson的转换工具,已经很完善了 * https://github.com/allanzhuo/yyblog/blob/beta1/src/main/java/net/laoyeye/yyblog/common/utils/JsonUtils.java * @author 小卖铺的老爷爷 * @date 2018年7月11日 * @website www.laoyeye.net */ public class JSONUtils { /** * Bean对象转JSON * * @param object * @param dataFormatString * @return */ public static String beanToJson(Object object, String dataFormatString) { if (object != null) { if (StringUtils.isEmpty(dataFormatString)) { return JSONObject.toJSONString(object); } return JSON.toJSONStringWithDateFormat(object, dataFormatString); } else { return null; } } /** * Bean对象转JSON * * @param object * @return */ public static String beanToJson(Object object) { if (object != null) { return JSON.toJSONString(object); } else { return null; } } /** * String转JSON字符串 * * @param key * @param value * @return */ public static String stringToJsonByFastjson(String key, String value) { if (StringUtils.isEmpty(key) || StringUtils.isEmpty(value)) { return null; } Map<String, String> map = new HashMap<String, String>(16); map.put(key, value); return beanToJson(map, null); } /** * 将json字符串转换成对象 * * @param json * @param clazz * @return */ public static <T> T jsonToBean(String json, Class<T> clazz) { if (StringUtils.isEmpty(json) || clazz == null) { return null; } return JSON.parseObject(json, clazz); } /** * json字符串转map * * @param json * @return */ @SuppressWarnings("unchecked") public static Map<String, Object> jsonToMap(String json) { if (StringUtils.isEmpty(json)) { return null; } return JSON.parseObject(json, Map.class); } }