zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    【9408】数的计数
    【rlz03】十六进制转十进制
    【rlz02】二进制转十进制
    【rlz01】完全数
    【a101】高精度实数加法
    【9406】2的幂次方
    【42.86%】【Codeforces Round #380D】Sea Battle
    【26.83%】【Codeforces Round #380C】Road to Cinema
    【9932】饥饿的牛
    【9933】单词的划分
  • 原文地址:https://www.cnblogs.com/sun-space/p/5565464.html
Copyright © 2011-2022 走看看