这种工具类网上有很多,为什么我还要自己封装,就是为了一个字:用着“爽”!
/**
@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();
}
}
如果喜欢拿去用吧!!!