1. 程式人生 > >由Action傳到頁面的Date類型也是一個Json數組,因此沒法正常顯示日期,解決辦法如下

由Action傳到頁面的Date類型也是一個Json數組,因此沒法正常顯示日期,解決辦法如下

pat des pan config sta sdn pac implement pre

原貼請參考:

http://blog.csdn.net/btt2013/article/details/50155949

添加一個工具類:

JsonDateValueProcessor.java

package com.xbmu.utils;  
  
import java.text.SimpleDateFormat;  
import java.util.Date;  
import java.util.Locale;  
import net.sf.json.JsonConfig;  
import net.sf.json.processors.JsonValueProcessor;  
/** 
 * 自定義JsonValueProcessor 
 * 比如我們要控制JSON序列化過程中的Date對象的格式化,以及數值的格式化,JsonValueProcessor是最好的選擇。 
 * 
@author bitaotao * */ public class JsonDateValueProcessor implements JsonValueProcessor { private String pattern = "yyyy-MM-dd"; public Object processArrayValue(Object value, JsonConfig config) { return process(value); } public Object processObjectValue(String key, Object value, JsonConfig config) {
return process(value); } private Object process(Object value){ if(value instanceof Date){ SimpleDateFormat sdf = new SimpleDateFormat(pattern, Locale.UK); return sdf.format(value); } return value == null ? "" : value.toString(); } }

Json在寫入頁面時候加入如下配置:

JsonConfig jsonConfig=new JsonConfig();
        JsonDateValueProcessor jsonValueProcessor = new JsonDateValueProcessor();  
        jsonConfig.registerJsonValueProcessor(Date.class, jsonValueProcessor);
        jsonConfig.setExcludes(excludes);
        JSONObject jsonObject = JSONObject.fromObject(object,jsonConfig);

頁面得到的date類型數據在Json中是一個整體:

"pickdate":"2017-07-29"

由Action傳到頁面的Date類型也是一個Json數組,因此沒法正常顯示日期,解決辦法如下