原贴请参考:
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"