content: 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);
      }
  }
  