項目中,經常會用JSONObject插件將JavaBean或List<JavaBean>轉換為JSON格式的字符串,而JavaBean的屬性有時候會有java.util.Date這個類型的時間對象,這時JSONObject默認會將Date屬性轉換成這樣的格式:
而這種格式肯定是非常難以理解的,為了將Date轉換為我們認識的“yyyy-MM-dd”格式,需要做以下操作。
首先創建一個時間轉換器
JsonConfig jsonConfig = new JsonConfig(); jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor());
最后將JsonConfig放入JSONObject對象中,這里針對不同的數據類型有多種方式放入JsonConfig:
JSONObject json = new JSONObject(); //Map轉JSON json.putAll(Map, jsonConfig);
或者
JSONObject json = new JSONObject(); //JavaBean轉JSON json.fromObject(object, jsonConfig)
最后我們看到的結果就是只要JavaBean中有Date對象,轉換成JSON字符串時就會變成“yyyy-MM-dd”格式。