public static JSONArray jsonListFilter(List objList, String[] filterNames){ JsonConfig jsonConfig = new JsonConfig(); jsonConfig.setIgnoreDefaultExcludes(false); jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); //防止自包含 if(filterNames != null){ //这里是核心,过滤掉不想使用的属性 jsonConfig .setExcludes(filterNames) ; } JSONArray jsonArray = JSONArray.fromObject(objList, jsonConfig); return jsonArray; }
public static JSONObject jsonFilter(Object obj, String[] filterNames){ JsonConfig jsonConfig = new JsonConfig(); jsonConfig.setIgnoreDefaultExcludes(false); jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); //防止自包含 if(filterNames != null){ //这里是核心,过滤掉不想使用的属性 jsonConfig .setExcludes(filterNames) ; } JSONObject jsonObj = JSONObject.fromObject(obj, jsonConfig); return jsonObj; }
public static JSONArray jsonListFilter(List objList, String[] filterNames){ JsonConfig jsonConfig = new JsonConfig(); jsonConfig.setIgnoreDefaultExcludes(false); jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); //防止自包含 //jsonConfig.registerJsonValueProcessor(java.sql.Timestamp.class, new DateJsonValueProcessor("yyyy-MM-dd HH:mm:ss")); if(filterNames != null){ //这里是核心,过滤掉不想使用的属性 jsonConfig .setExcludes(filterNames) ; } JSONArray jsonArray = JSONArray.fromObject(objList, jsonConfig); return jsonArray; }
/** * JSON 时间解析器具 */ public static JsonConfig configJson(String datePattern) { JsonConfig jsonConfig = new JsonConfig(); jsonConfig.setExcludes(new String[] { "" }); jsonConfig.setIgnoreDefaultExcludes(false); jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor(datePattern)); return jsonConfig; }
/** * 除去不想生成的字段(特别适合去掉级联的对象)+时间转换 * * @param excludes * 除去不想生成的字段 * @param datePattern * @return */ public static JsonConfig configJson(String[] excludes, String datePattern) { JsonConfig jsonConfig = new JsonConfig(); jsonConfig.setExcludes(excludes); jsonConfig.setIgnoreDefaultExcludes(true); jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor(datePattern)); return jsonConfig; }