1. 程式人生 > >物件轉JSONArray,JSONObject[包括物件中日期格式化,屬性過濾]

物件轉JSONArray,JSONObject[包括物件中日期格式化,屬性過濾]

建立時間轉換器

  1. import java.text.SimpleDateFormat;  
  2. import java.util.Date;  
  3. import java.util.Locale;  
  4. import net.sf.json.JsonConfig;  
  5. import net.sf.json.processors.JsonValueProcessor;  
  6. publicclass JsonDateValueProcessor  implements JsonValueProcessor {  
  7.     private String format ="yyyy-MM-dd hh:mm:ss";  
  8.     public
     JsonDateValueProcessor() {  
  9.         super();  
  10.     }  
  11.     public JsonDateValueProcessor(String format) {  
  12.         super();  
  13.         this.format = format;  
  14.     }  
  15.     public Object processArrayValue(Object paramObject,  
  16.             JsonConfig paramJsonConfig) {  
  17.         return process(paramObject);  
  18.     }  
  19.     public Object processObjectValue(String paramString, Object paramObject,  
  20.             JsonConfig paramJsonConfig) {  
  21.         return process(paramObject);  
  22.     }  
  23.     private Object process(Object value){  
  24.         if(value instanceof Date){    
  25.             SimpleDateFormat sdf = new SimpleDateFormat(format,Locale.CHINA);    
  26.             return sdf.format(value);  
  27.         }    
  28.         return value == null ? "" : value.toString();    
  29.     }  
  30. }  

建立物件屬性過濾器,並能對物件中date格式欄位進行字串格式轉換


  1. import java.lang.reflect.Field;  
  2. import java.util.Date;  
  3. import net.sf.json.JSONArray;  
  4. import net.sf.json.JSONObject;  
  5. import net.sf.json.JsonConfig;  
  6. import net.sf.json.util.PropertyFilter;  
  7. import org.apache.commons.logging.Log;  
  8. import org.apache.commons.logging.LogFactory;  
  9. /** 
  10.  * <p>Title: 保留屬性</p> 
  11.  * <p>Description:保留JAVABEAN的指定屬性</p> 
  12.  *  
  13.  */
  14. publicclass IgnoreFieldProcessorImpl implements PropertyFilter {  
  15.     Log log = LogFactory.getLog(this.getClass());  
  16.     /** 
  17.      * 保留的屬性名稱 
  18.      */
  19.     private String[] fields;  
  20.     /** 
  21.      * 空參構造方法<br/> 
  22.      * 預設不忽略集合 
  23.      */
  24.     public IgnoreFieldProcessorImpl() {  
  25.         // empty
  26.     }  
  27.     /** 
  28.      * 構造方法 
  29.      * @param fields 保留屬性名稱陣列 
  30.      */
  31.     public IgnoreFieldProcessorImpl(String[] fields) {  
  32.         this.fields = fields;   
  33.     }  
  34.     /** 
  35.      * 構造方法 
  36.      * @param fields    保留屬性名稱陣列 
  37.      */
  38.     public IgnoreFieldProcessorImpl(boolean ignoreColl, String[] fields) {  
  39.         this.fields = fields;  
  40.     }  
  41.     publicboolean apply(Object source, String name, Object value) {  
  42.         Field declaredField = null;  
  43.         // 保留設定的屬性
  44.         if(fields != null && fields.length > 0) {  
  45.             if(juge(fields,name)) {    
  46.                  returnfalse;    
  47.             } else {    
  48.                 returntrue;   
  49.             }   
  50.         }  
  51.         returnfalse;  
  52.     }  
  53.     /** 
  54.      * 保留相等的屬性 
  55.      * @param s 
  56.      * @param s2 
  57.      * @return 
  58.      */
  59.      publicboolean juge(String[] s,String s2){    
  60.          boolean b = false;    
  61.          for(String sl : s){    
  62.              if(s2.equals(sl)){    
  63.                  b=true;    
  64.              }    
  65.          }    
  66.          return b;    
  67.      }    
  68.      /** 
  69.       * 獲取保留的屬性 
  70.       * @param fields 
  71.       */
  72.     public String[] getFields() {  
  73.         return fields;  
  74.     }  
  75.     /** 
  76.      * 設定保留的屬性 
  77.      * @param fields 
  78.      */
  79.     publicvoid setFields(String[] fields) {  
  80.         this.fields = fields;  
  81.     }  
  82.     /** 
  83.      * 保留欄位轉換json 物件 
  84.      * @param configs 保留欄位名稱 
  85.      * @param entity 需要轉換實體 
  86.      * @return 
  87.      */
  88. 相關推薦

    物件JSONArray,JSONObject[包括物件日期格式化屬性過濾]

    建立時間轉換器import java.text.SimpleDateFormat;  import java.util.Date;  import java.util.Locale;  import net.sf.json.JsonConfig;  import net.sf

    JS日期格式化加一天加一月等等

    Date.prototype.ToString = function (format) { var o = { "M+": this.getMonth() + 1, //month "d+": this.getDate(), //da

    Python物件json【包括巢狀物件jsondjango的modeljson】

    背景: 給app寫介面時經常會遇到將一個model轉為json返回。 問題: 網上也有類似方法,只是搜尋結果多少有些問題,總是搜了好一會兒才找到合適的方法,另外,網上更多集中的只是簡單些的物件,對於複雜的物件,還是不容易找到好的方式。 方案(python3.6): 1

    Gson物件成Java複雜物件出錯

    程式中有一個複雜的物件資料要儲存起來,我們把這個物件用GSON轉成字串,然後直接存進資料庫的一個CLOB欄位作為持久化。下次使用的時候,直接取出,然後藉助GSON轉成Java物件,對於簡單的Java物件,GSON的互轉都是沒有問題的。但是我的這個結構巢狀層級有點多,Java

    iOS字典陣列把每個字典物件成一個模型物件

    // 重寫apps屬性的get方法,進行懶載入資料 - (NSArray *)apps { if (_apps == nil) { // 載入資料 // 1.獲取app.plist檔案在手機上的路徑(首先要穩app.plist呢個檔案

    easyui dataGrid日期格式化

    { field : ‘expectedDate’, title : ‘計劃完成時間’, width : ‘10%’, align : ‘center’, formatter:function(value,row,index){ var date = new Date(value)

    資料庫日期排序如何將null排在後面

    oracle 排序是,如果為null, 降序則排在最前面,怎麼讓這些null值排在最後面  。              Nulls last http://blog.csdn.net/heartdiamond/article/details/6057562 解決

    js日期格式化連字元駝峰等通用函式記錄

    js日期格式化,連字元轉駝峰等通用函式記錄 1. 基本通用函式     通用函式js很多實現都在lodash裡面有實現,如 throttle(節流函式) 和 debounce(防抖函式) 2.一些其他的函式記錄    

    java日期計算向後移動得到明天的日期

            Date date=new Date();//取時間        Calendar calendar =new GregorianCalendar();        calendar.setTime(date);        calendar.add(

    linux在shell日期格式化(時間格式化)

    #man date可以看到date的help檔案 #date 獲取當前時間 #date -d "-1 week" +%Y%m%d 獲取上週日期(day,month,year,hour) #date --date="-24 hour" +%Y%m%d 同上 date_now=`date +%s` shell腳

    Java日期格式化YYYY-DD的坑

    寫這篇博文是記錄下跨年的bug。去年隔壁組的小夥伴就是計算兩個日期之間間隔的天數,因為跨年的原因計算有誤。 當時測試組的小姐姐也沒有模擬出來這種場景,導致上生產環境直接影響線上的資料。 今天逛技術論論壇正好遇到Java日期的操作bug。 1 yyyy 和 YYYY 別看字,看程式碼 @Test p

    fmt標籤實現日期格式化與型別轉換Converter

    一.頁面展示時間型別資料  1.引入標頭檔案:<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>  2.將從後臺取出的時間型別資料按yyyy-MM-dd格式,格式化; <t

    SpringBoot返回date日期格式化解決返回為TIMESTAMP時間戳格式或8小時時間差(轉載)

    @JSONField(format = "yyyy-MM-dd HH:mm:ss")  //FastJson包使用註解     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") //Jack

    SpringMVC返回JSON資料date日期格式化解決返回為TIMESTAMP時間戳格式

    資料庫中使用的是timestamp型別,在po類裡面屬性的格式為Date型別,但是在返回json字串的時候,卻是返回的是long型別的資料,這個不是我們需要的資料型別,之前一直想著前端使用js直接格式化一下就好了,但是前端說只做資料的展示,不做資料的處理,好吧,

    js日期格式化兼容ie

    ear string 日期 test fun hour date second h+ common.DateFormater = function (dt, formater) { //author: meizz if (dt) { if ((type

    SpringBoot返回date日期格式化解決返回為TIMESTAMP時間戳格式或8小時時間差

    問題描述        在Spring Boot專案中,使用@RestController註解,返回的java物件中若含有date型別的屬性,則預設輸出為TIMESTAMP時間戳格式 ,如下所示: 解決方案        解決方案有多種,這裡只記錄本人覺得最簡單的一種。一

    Android工具類一些方法電話正則是否為空日期格式化星期車牌身份證校驗設定地區編碼驗證日期字串是否是YYYY-MM-DD格式判斷字串是否為數字

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Gr

    PHP數字格式化保留2位或指定位數程式碼

    /** *    數字格式化 *    @param $num 要格式劃的數字 *    @param $precision 保留小數點位數 */ function reverse_format($num,$precision=2) {     $_num = round(

    真沒想到Springboot能這樣做全域性日期格式化有點香!

    最近面了一些公司,有一些 Java方面的架構、面試資料,有需要的小夥伴可以在公眾號【程式設計師內點事】裡,無套路自行領取 說在前邊 最近部門幾位同事受了一些委屈相繼離職,共事三年臨別之際頗有不捨,待一切手續辦妥帖,寒暄過後送他們出公司,幾個老哥臨別時衝我鬼魅一笑,我頓時心裡一緊有種不好的預感,這事絕對沒

    javascript物件陣列的方法

    1. 物件沒有length屬性 2.Array.prototype.slice.call(obj)能將具有length屬性的物件轉成陣列,不帶length屬性的物件,只能宣告陣列去轉換 <!DOCTYPE html> <html lang