JSON工具类

 1 import java.sql.Timestamp;
 2 import java.util.Collection;
 3 import java.util.Date;
 4 
 5 import org.soul.util.json.JsonDateValueProcessor;
 6 import org.soul.util.json.JsonIgnorePropertyFilter;
 7 
 8 import net.sf.json.JSONArray;
 9 import net.sf.json.JSONObject;
10 import net.sf.json.JsonConfig;
11 
12 /**
13  * 依赖net.sf.json包(json-lib-2.4-jdk?.jar)
14  */
15 public abstract class JsonUtils {
16     private static JsonConfig config = new JsonConfig();
17     private static JsonIgnorePropertyFilter ifp = new JsonIgnorePropertyFilter();
18     static {
19         config.setJsonPropertyFilter(ifp);
20         config.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor("yyyy-MM-dd"));
21         config.registerJsonValueProcessor(java.sql.Date.class, new JsonDateValueProcessor("yyyy-MM-dd"));
22         config.registerJsonValueProcessor(Timestamp.class, new JsonDateValueProcessor("yyyy-MM-dd hh:mm:ss"));
23     }
24 
25     /**
26      * 格式化对象成为json对象
27      * @param o 目标对象
28      * @param ignoreFields 忽略字段 如: name,value等
29      * @param ignoreCls 忽略指定类及超类的其所属性
30      * @param ignoreNull 忽略null值
31      * @param ignoreColl 忽略集合属性
32      * @return
33      */
34     public static JSONObject fromObject(Object o,String[] ignoreFields,Class<?> ignoreCls,boolean ignoreNull,boolean ignoreColl){
35         ifp.setIgnoreCls(ignoreCls);
36         ifp.setIgnoreColl(ignoreColl);
37         ifp.setIgnoreNull(ignoreNull);
38         ifp.getFields().clear();
39         if(ignoreFields!=null && ignoreFields.length>0){
40             ifp.addFields(ignoreFields);
41         }
42         JSONObject resultJson = null;
43         try {
44             resultJson = JSONObject.fromObject(o,config);
45         } catch (Exception e) {
46             e.printStackTrace();
47         }
48         return resultJson; 
49     }
50 
51     /**
52      * 格式化集合成为json集合对象
53      * @param o 目标集合
54      * @param ignoreFields 忽略字段 如: name,value等
55      * @param ignoreCls 忽略指定类及超类的其所属性
56      * @param ignoreNull 忽略null值
57      * @param ignoreColl 忽略集合属性
58      * @return
59      */
60     public static JSONArray fromObject(Collection<?> o,String[] ignoreFields,Class<?> ignoreCls,boolean ignoreNull,boolean ignoreColl){
61         ifp.setIgnoreCls(ignoreCls);
62         ifp.setIgnoreColl(ignoreColl);
63         ifp.setIgnoreNull(ignoreNull);
64         ifp.getFields().clear();
65         if(ignoreFields!=null && ignoreFields.length>0){
66             ifp.addFields(ignoreFields);
67         }
68         JSONArray resultJson = null;
69         try {
70             resultJson = JSONArray.fromObject(o,config);
71         } catch (Exception e) {
72             e.printStackTrace();
73         }
74         return resultJson; 
75     }
76 }

 

posted @ 2016-06-06 23:12  user_孙  阅读(254)  评论(0编辑  收藏  举报