java封装json工具类

这种工具类网上有很多,为什么我还要自己封装,就是为了一个字:用着“爽”!


/**

  • @author:作者Lelonta
  • @version:1.0
  • 创建时间:2017-4-12 下午10:27:50
  • 类说明
    */
    public class MyJson {
/**
 * 返回成功数据
 * @param resObj
 * @return
 */
public static JSONObject returnSucc(Object resobj){
    Map obj = new HashMap();
    obj.put("code", "40000");
    //obj.put("info", "success");
    obj.put("resobj", resobj);
    
    JSONObject jsonObject = MakeJsonUtil.createJson(obj);
    return jsonObject;
}

/**
 * 返回成功数据 
 * 排除不想要的数据字段
 * @param resobj
 * @param excludes
 * @return
 */
public static JSONObject returnSuccAndExclude(Object resobj,String[] excludes){
    //定义一个map
    Map obj = new HashMap();
    obj.put("code", "40000");
    //obj.put("info", "success");
    obj.put("resobj", resobj);
    
    JSONObject jsonObject = MakeJsonUtil.createJsonExclude(obj, excludes);
    
    return jsonObject;
}

/**
 * 返回成功数据以及其他相加的数据 
 * 排除不想要的数据字段
 * @param resObj
 * @return
 */
public static JSONObject returnSuccForOtherAndExclude(Object resobj,Object other
        ,String[] excludes){
    
    Map obj = new HashMap();
    obj.put("code", "40000");
    //obj.put("info", "success");
    obj.put("resobj", resobj);
    obj.put("other", other);
    
    JSONObject jsonObject = MakeJsonUtil.createJsonExclude(obj, excludes); 
    
    return jsonObject;
}

/**
 * 返回成功数据以及其他想加的数据
 * @param resobj
 * @param other
 * @return
 */
public static JSONObject returnSuccForOther(Object resobj,Object other){
        
        Map obj = new HashMap();
        obj.put("code", "40000");
        //obj.put("info", "success");
        obj.put("resobj", resobj);
        obj.put("other", other);
        
        JSONObject jsonObject = MakeJsonUtil.createJson(obj);
        
        return jsonObject;
    }

/**
 * 返回错误结果
 * @param resObj
 * @return
 */
public static JSONObject returnFail(Object resobj){
    Map obj = new HashMap();
    obj.put("code", "40004");
    //obj.put("info", "success");
    obj.put("resobj", resobj);
    
    JSONObject jsonObject = MakeJsonUtil.createJson(obj);
    
    return jsonObject;
}

/**
 * 返回错误数据
 * 排除不想要的数据字段
 * @param resobj
 * @param excludes
 * @return
 */
public static JSONObject returnFailAndExclude(Object resobj,String[] excludes){
    Map obj = new HashMap();
    obj.put("code", "40004");
    //obj.put("info", "success");
    obj.put("resobj", resobj);
    
    JSONObject jsonObject = MakeJsonUtil.createJsonExclude(obj, excludes); 
    return jsonObject;
}

public static void main(String[] args) {
    Map obj = new HashMap();
    obj.put("code", "40000");
    //obj.put("info", "success");
    obj.put("resobj", "resobj");
    obj.put("other", "other");
    JsonConfig jsonConfig = new JsonConfig();  
    jsonConfig.setIgnoreDefaultExcludes(true);  //默认为false,即过滤默认的key  
    jsonConfig.setExcludes(new String[]{"other"});
    jsonConfig.registerJsonValueProcessor(Date.class, 
                            new JsonDateValueProcessor());
    JSONObject jsonObject = JSONObject.fromObject(obj,jsonConfig); 
    
    System.out.println(jsonObject);  
}

}


继续封装一个工具类,被myjson引用


/**

  • @author 作者Lelonta:

  • @version

  • 创建时间:2017-4-14 下午9:45:43

  • 类说明
    */
    public class MakeJsonUtil {

    //创建 jsonconfig对象
    private static JsonConfig jsonConfig = null;

/**
 * 返回jsonobject
 * @param obj
 * @return
 */
public static JSONObject createJson(Map obj) {
    
    jsonConfig = new JsonConfig();
    jsonConfig.registerJsonValueProcessor(Date.class, 
            new JsonDateValueProcessor());
    JSONObject jsonObject = JSONObject.fromObject(obj,jsonConfig);
    return jsonObject;
}

/**
 * 返回jsonobject,并且去除不想要的字段
 * @param obj
 * @param excludes
 * @return
 */
public static JSONObject createJsonExclude(Map obj,String[] excludes) {
    
    jsonConfig = new JsonConfig();
    jsonConfig.setExcludes(excludes);
    jsonConfig.registerJsonValueProcessor(Date.class, 
            new JsonDateValueProcessor());
    JSONObject jsonObject = JSONObject.fromObject(obj,jsonConfig); 
    return jsonObject;
}

}


时间格式化工具类


/**

  • @author 作者Lelonta:

  • @version

  • 创建时间:2017-4-8 上午10:35:27

  • 类说明
    */
    public class JsonDateValueProcessor implements JsonValueProcessor {
    private String format ="yyyy-MM-dd HH:mm:ss";

    public JsonDateValueProcessor() {
    super();
    }

    public JsonDateValueProcessor(String format) {
    super();
    this.format = format;
    }

    public Object processArrayValue(Object paramObject,
    JsonConfig paramJsonConfig) {
    return process(paramObject);
    }

    public Object processObjectValue(String paramString, Object paramObject,
    JsonConfig paramJsonConfig) {
    return process(paramObject);
    }

private Object process(Object value){
    if(value instanceof Date){  
        SimpleDateFormat sdf = new SimpleDateFormat(format,Locale.CHINA);  
        return sdf.format(value);
    }  
    return value == null ? "" : value.toString();  
}

}


如果喜欢拿去用吧!!!

你可能感兴趣的:(java封装json工具类)