js實例教程-對象轉JSONArray,JSONObject的實例教程,包括對象中日期格式化,屬性過濾

发布时间:2018-11-23 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了js實例教程-對象轉JSONArray,JSONObject的實例教程,包括對象中日期格式化,屬性過濾脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
小寶典致力於為廣大程序猿(媛)提供高品質的代碼服務,請大家多多光顧小站,小寶典在此謝過。

創建時間轉換器

 import java.text.SimpleDateFormat;   import java.util.Date;   import java.util.Locale;      import net.sf.json.Jsonconfig;   import net.sf.json.PRocessors.JsonValueProcessor;         public class JsonDateValueProcessor  implements JsonValueProcessor {       private String format ="yyyy-MM-dd hh:mm:ss";              public JsonDateValueProcessor() {           suPEr();       }              public JsonDateValueProcessor(String format) {           super();           this.format = format;       }          public Object processArrayValue(Object paramObject,               JsonConfig paramJsonConfig) {           return process(paramObject);       }          public Object processObjectValue(String paramString, Object paramObject,               JsonConfig paramJsonConfig) {           return process(paramObject);       }                     private Object process(Object value){           if(value instanceof Date){                 SimpleDateFormat sDF = new SimpleDateFormat(format,Locale.CHINA);                 return sdf.format(value);           }             return value == null ? "" : value.toString();         }         }  

創建對象屬性過濾器,並能對對象中date格式字段進行字符串格式轉換

 import java.lang.reflect.Field;   import java.util.Date;      import net.sf.json.JSONArray;   import net.sf.json.JSONObject;   import net.sf.json.JsonConfig;   import net.sf.json.util.PropertyFilter;      import org.@R_406_1057@.COMmons.LOGging.Log;   import org.apache.commons.logging.LogFactory;        /**   * <p>TITle: 保留屬性</p>   * <p>Description:保留JAVABEAN的指定屬性</p>   *    */   public class IgnoreFieldProcessorImpl implements PropertyFilter {            Log log = LogFactory.getLog(this.getClass());            /**       * 保留的屬性名稱       */       private String[] fields;            /**       * 空參構造方法<br/>       * 默認不忽略集合       */       public IgnoreFieldProcessorImpl() {           // empty       }            /**       * 構造方法       * @param fields 保留屬性名稱數組       */       public IgnoreFieldProcessorImpl(String[] fields) {           this.fields = fields;        }            /**       * 構造方法       * @param fields    保留屬性名稱數組       */       public IgnoreFieldProcessorImpl(boolean ignoreColl, String[] fields) {           this.fields = fields;       }            public boolean apply(Object source, String name, Object value) {           Field declaredField = null;                      // 保留設定的屬性           if(fields != null && fields.length > 0) {               if(juge(fields,name)) {                      return false;                 } else {                     return true;                                  }            }                        return false;       }       /**       * 保留相等的屬性       * @param s       * @param s2       * @return       */        public boolean juge(String[] s,String s2){              boolean b = false;              for(String sl : s){                  if(s2.equals(sl)){                      b=true;                  }              }              return b;          }                  /**        * 獲取保留的屬性        * @param fields        */       public String[] getFields() {           return fields;       }            /**       * 設置保留的屬性       * @param fields       */       public void setFields(String[] fields) {           this.fields = fields;       }              /**       * 保留字段轉換JSON 對象       * @param configs 保留字段名稱       * @param entity 需要轉換實體       * @return       */       public static JSONObject JsonConfig(String[] configs,Object entity){           JsonConfig config = new JsonConfig();           config.setJsonPropertyFilter(new IgnoreFieldProcessorImpl(true, configs)); // 保留的屬性<span style="font-family: Arial, Helvetica, sans-serif;">configs</span>           config.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor()); // 將對象中的日期進行格式化           JSONObject FromObject = JSONObject.fromObject(entity, config );           return fromObject;           }                     /**       * 保留字段轉換json 數組       * @param configs 保留字段名稱       * @param entity 需要轉換實體       * @return       */       public static JSONArray ArrayJsonConfig(String[] configs,Object entity){           JsonConfig config = new JsonConfig();           config.setJsonPropertyFilter(new IgnoreFieldProcessorImpl(true, configs)); //<span style="font-family: Arial, Helvetica, sans-serif;">保留的屬性</span><span style="font-family: Arial, Helvetica, sans-serif;">configs</span>           config.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor());           JSONArray fromObject = JSONArray.fromObject(entity, config );           return fromObject;       }          }  

調用方法,

例:將exam對象轉換成JSONObject並只保留需要的字段

 JSONObject ex = IgnoreFieldProcessorImpl.JsonConfig(new String[]{"id","examName","examDate"}, exam);  

例:將list<Course>對象轉換成JSONArray並只保留Course中需要保留的字段

 JSONArray listj=IgnoreFieldProcessorImpl.ArrayJsonConfig(new String[]{"id","courseName","examDate","remark"}, list);  

創建時間轉換器

 import java.text.SimpleDateFormat;   import java.util.Date;   import java.util.Locale;      import net.sf.json.JsonConfig;   import net.sf.json.processors.JsonValueProcessor;         public class JsonDateValueProcessor  implements JsonValueProcessor {       private String format ="yyyy-MM-dd hh:mm:ss";              public JsonDateValueProcessor() {           super();       }              public JsonDateValueProcessor(String format) {           super();           this.format = format;       }          public Object processArrayValue(Object paramObject,               JsonConfig paramJsonConfig) {           return process(paramObject);       }          public Object processObjectValue(String paramString, Object paramObject,               JsonConfig paramJsonConfig) {           return process(paramObject);       }                     private Object process(Object value){           if(value instanceof Date){                 SimpleDateFormat sdf = new SimpleDateFormat(format,Locale.CHINA);                 return sdf.format(value);           }             return value == null ? "" : value.toString();         }         }  

創建對象屬性過濾器,並能對對象中date格式字段進行字符串格式轉換

 import java.lang.reflect.Field;   import java.util.Date;      import net.sf.json.JSONArray;   import net.sf.json.JSONObject;   import net.sf.json.JsonConfig;   import net.sf.json.util.PropertyFilter;      import org.apache.commons.logging.Log;   import org.apache.commons.logging.LogFactory;        /**   * <p>Title: 保留屬性</p>   * <p>Description:保留JAVABEAN的指定屬性</p>   *    */   public class IgnoreFieldProcessorImpl implements PropertyFilter {            Log log = LogFactory.getLog(this.getClass());            /**       * 保留的屬性名稱       */       private String[] fields;            /**       * 空參構造方法<br/>       * 默認不忽略集合       */       public IgnoreFieldProcessorImpl() {           // empty       }            /**       * 構造方法       * @param fields 保留屬性名稱數組       */       public IgnoreFieldProcessorImpl(String[] fields) {           this.fields = fields;        }            /**       * 構造方法       * @param fields    保留屬性名稱數組       */       public IgnoreFieldProcessorImpl(boolean ignoreColl, String[] fields) {           this.fields = fields;       }            public boolean apply(Object source, String name, Object value) {           Field declaredField = null;                      // 保留設定的屬性           if(fields != null &amp;& fields.length > 0) {               if(juge(fields,name)) {                      return false;                 } else {                     return true;                                  }            }                        return false;       }       /**       * 保留相等的屬性       * @param s       * @param s2       * @return       */        public boolean juge(String[] s,String s2){              boolean b = false;              for(String sl : s){                  if(s2.equals(sl)){                      b=true;                  }              }              return b;          }                  /**        * 獲取保留的屬性        * @param fields        */       public String[] getFields() {           return fields;       }            /**       * 設置保留的屬性       * @param fields       */       public void setFields(String[] fields) {           this.fields = fields;       }              /**       * 保留字段轉換json 對象       * @param configs 保留字段名稱       * @param entity 需要轉換實體       * @return       */       public static JSONObject JsonConfig(String[] configs,Object entity){           JsonConfig config = new JsonConfig();           config.setJsonPropertyFilter(new IgnoreFieldProcessorImpl(true, configs)); // 保留的屬性<span style="font-family: Arial, Helvetica, sans-serif;">configs</span>           config.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor()); // 將對象中的日期進行格式化           JSONObject fromObject = JSONObject.fromObject(entity, config );           return fromObject;           }                     /**       * 保留字段轉換json 數組       * @param configs 保留字段名稱       * @param entity 需要轉換實體       * @return       */       public static JSONArray ArrayJsonConfig(String[] configs,Object entity){           JsonConfig config = new JsonConfig();           config.setJsonPropertyFilter(new IgnoreFieldProcessorImpl(true, configs)); //<span style="font-family: Arial, Helvetica, sans-serif;">保留的屬性</span><span style="font-family: Arial, Helvetica, sans-serif;">configs</span>           config.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor());           JSONArray fromObject = JSONArray.fromObject(entity, config );           return fromObject;       }          }  

調用方法,

例:將exam對象轉換成JSONObject並只保留需要的字段

 JSONObject ex = IgnoreFieldProcessorImpl.JsonConfig(new String[]{"id","examName","examDate"}, exam);  

例:將list<Course>對象轉換成JSONArray並只保留Course中需要保留的字段

 JSONArray listj=IgnoreFieldProcessorImpl.ArrayJsonConfig(new String[]{"id","courseName","examDate","remark"}, list);  

覺得可用,就經常來吧!Javascript技巧 腳本寶典 歡迎評論哦! js技巧,巧奪天工,精雕玉琢。小寶典獻醜了!

脚本宝典总结

以上是脚本宝典为你收集整理的js實例教程-對象轉JSONArray,JSONObject的實例教程,包括對象中日期格式化,屬性過濾全部内容,希望文章能够帮你解决js實例教程-對象轉JSONArray,JSONObject的實例教程,包括對象中日期格式化,屬性過濾所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。