这种工具类网上有很多,为什么我还要自己封装,就是为了一个字:用着“爽”!
/**
- @author:作者Lelonta
- @version:1.0
- 创建时间:2017-4-12 下午10:27:50
- 类说明
*/
public class MyJson {
/**
* 返回成功数据
* @param resObj
* @return
*/
public static JSONObject returnSucc(Object resobj){
Map<String, Object> obj = new HashMap<String, Object>();
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<String, Object> obj = new HashMap<String, Object>();
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<String, Object> obj = new HashMap<String, Object>();
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<String, Object> obj = new HashMap<String, Object>();
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<String, Object> obj = new HashMap<String, Object>();
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<String, Object> obj = new HashMap<String, Object>();
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<String, Object> obj = new HashMap<String, Object>();
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<String, Object> 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<String, Object> 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();
}
}
如果喜欢拿去用吧!!!









网友评论