前言
有過微信小程序開發經驗的朋友肯定遇到過通過JSON轉換接口傳遞日期時間數據的問題,我們知道,一般的日期時間類型通過接口默認轉換的數據形式是: 「Thu Jan 03 11:00:54 CST 2019」 ,而不是我們所需要的「yyyy-MM-dd」或「yyyy-MM-dd HH:mm:ss」這種形式,導致在微信小程序裡顯示的時候不倫不類,也不美觀,下面我們就直接上代碼實例來給大家介紹。
日期轉換Util實例
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
import org.apache.commons.net.ntp.TimeStamp;
public class JsonDateTimeValueProcessor implements JsonValueProcessor{
private String pattern = "yyyy-MM-dd HH:mm:ss";
@Override
public Object processArrayValue(Object value, JsonConfig config) {
return process(value);
}
@Override
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);
}
if(value instanceof TimeStamp){
SimpleDateFormat sdf = new SimpleDateFormat(pattern, Locale.UK);
return sdf.format(value);
}
return value == null ? "" : value.toString();
}
}
感興趣或者有實際需要的朋友可將上述代碼保存成Java類Util文件,用到時直接調用即可。
JsonConfig config = new JsonConfig(); JsonDateTimeValueProcessor jsonValueProcessor = new JsonDateTimeValueProcessor(); config.registerJsonValueProcessor(Date.class, jsonValueProcessor); JSONArray json = new JSONArray();json =JSONArray.fromObject(XXXXXXX,config);
上面這段文字是調用時的內容,其中XXXXXX是需要轉換為Json的對象。
後記
有了上面這個方法,就可以不管數據表或者通用類裡日期時間存儲的是上面格式,據此可做相應的轉換,滿足微信小城對JSON數據的需要。