由Action傳到頁面的Date類型也是一個Json數組,因此沒法正常顯示日期,解決辦法如下
阿新 • • 發佈:2017-07-29
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數組,因此沒法正常顯示日期,解決辦法如下