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 }
  • 相关阅读:
    9. 如何在控制器或模型中获取当前登录的管理员或登录用户信息
    FastAdmin控制管理员只显示自己添加的数据
    div 隐藏
    使用JavaScript实现Input输入数据后自动计算并实时显示
    thinkphp中在页面怎么格式输出小数和时间
    fastadmin表单提交提示红色OK
    在某个域被使用或改变时,它会改变颜色。【用于提示表单已填充】
    Unix命令行学习
    Ubuntu菜鸟入门(十)—— Flash控件安装
    Ubuntu菜鸟入门(九)—— 支付宝支付控件安装
  • 原文地址:https://www.cnblogs.com/sun-space/p/5565464.html
Copyright © 2011-2022 走看看