关于这个工具类的由来
做小程序项目或者app的时候,编写的后台代码需要以json串的形式返回到前端,用着以前公司封装的工具类,返回json串时,不需要的字段也要返回出去,看着给人的感觉不是很爽,因此我看了看jsonconfig的用法,结合jsonconfig,自己编写了一个返回json串的工具类,工具类都大同小异,虽说没什么亮点,但是以后用着自己封装的东西,心里可能会爽吧!!!
在这里我把这个分享出来!
-------------------------------------------------------------开始贴代码----------------------------------------------
/** * @author:作者Lelonta: * @version:1.0 * 创建时间:2017-4-12 下午10:27:50 * 类说明 */public class MyJson {//定义一个jsonconfig对象private static JsonConfig jsonConfig = null;/** * 返回成功数据 * @param resObj * @return */public static JSONObject returnSucc(Object resobj){Mapobj = new HashMap();obj.put("code", "40000");//obj.put("info", "success");obj.put("resobj", resobj);jsonConfig = new JsonConfig();jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor());JSONObject jsonObject = JSONObject.fromObject(obj,jsonConfig); return jsonObject;}/** * 返回成功数据 * 排除不想要的数据字段 * @param resobj * @param excludes * @return */public static JSONObject returnSuccAndExclude(Object resobj,String[] excludes){//定义一个mapMapobj = new HashMap();obj.put("code", "40000");//obj.put("info", "success");obj.put("resobj", resobj);jsonConfig = new JsonConfig();jsonConfig.setExcludes(excludes);jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor());JSONObject jsonObject = JSONObject.fromObject(obj,jsonConfig); return jsonObject;}/** * 返回成功数据以及其他相加的数据 * 排除不想要的数据字段 * @param resObj * @return */public static JSONObject returnSuccForOtherAndExclude(Object resobj,Object other,String[] excludes){Mapobj = new HashMap();obj.put("code", "40000");//obj.put("info", "success");obj.put("resobj", resobj);obj.put("other", other);jsonConfig = new JsonConfig();jsonConfig.setExcludes(excludes);jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor());JSONObject jsonObject = JSONObject.fromObject(obj,jsonConfig); return jsonObject;}/** * 返回成功数据以及其他想加的数据 * @param resobj * @param other * @return */public static JSONObject returnSuccForOther(Object resobj,Object other){Mapobj = new HashMap();obj.put("code", "40000");//obj.put("info", "success");obj.put("resobj", resobj);obj.put("other", other);jsonConfig = new JsonConfig();jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor());JSONObject jsonObject = JSONObject.fromObject(obj,jsonConfig); return jsonObject;}/** * 返回错误结果 * @param resObj * @return */public static JSONObject returnFail(Object resobj){Mapobj = new HashMap();obj.put("code", "40004");//obj.put("info", "success");obj.put("resobj", resobj);jsonConfig = new JsonConfig();jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor());JSONObject jsonObject = JSONObject.fromObject(obj,jsonConfig); return jsonObject;}/** * 返回错误数据 * 排除不想要的数据字段 * @param resobj * @param excludes * @return */public static JSONObject returnFailAndExclude(Object resobj,String[] excludes){Mapobj = new HashMap();obj.put("code", "40004");//obj.put("info", "success");obj.put("resobj", resobj);jsonConfig = new JsonConfig();jsonConfig.setExcludes(excludes);jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor());JSONObject jsonObject = JSONObject.fromObject(obj,jsonConfig); return jsonObject;}public static void main(String[] args) {Mapobj = new HashMap();
obj.put("code", "40000");
//obj.put("info", "success");
obj.put("resobj", "resobj");
obj.put("other", "other");
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);
}
}
--------------------------------------------------------代码结束------------------------------------------------
第一次写还没有找到门道,代码贴上很乱
把截图放出来
网友评论