java.util.Date对象转换成json

   在使用Java对象和json数据进行转化的过程,当Java对象中有Date对象是,Java对象转换成json,把date对象分开转化,即:年、月、日、时、分、秒,每个都当成一个对象给转化了,为了保持date对象的原有值,要进行一下处理即可:
新建一个Java类,如下:
/**
 * 禁止json转换时,时间转化为对象
 * @author Administrator
 *
 */
public class JsonDateValueProcessor implements JsonValueProcessor {
    private String datePattern = AssContants.DATE_PATERN_MM;
    public JsonDateValueProcessor() {
        super();
    }
    public JsonDateValueProcessor(String format) {
        super();
        this.datePattern = format;
    }
    public Object processArrayValue(Object value, JsonConfig jsonConfig) {
        return process(value);
    }
    public Object processObjectValue(String key, Object value,
            JsonConfig jsonConfig) {
        return process(value);
    }
    private Object process(Object value) {
        try {
            if (value instanceof Date) {
                SimpleDateFormat sdf = new SimpleDateFormat(datePattern, Locale.UK);
                return sdf.format((Date) value);
            }
            return value == null ? "" : value.toString();
        } catch (Exception e) {
            return "";
        }
    }
    public String getDatePattern() {
        return datePattern;
    }
    public void setDatePattern(String pDatePattern) {
        datePattern = pDatePattern;
    }
}


使用案例,如下:

//JsonConfig是net.sf.json.JsonConfig中的,这个为固定写法  
	   JsonConfig jsonConfig = new JsonConfig();  
		jsonConfig.registerJsonValueProcessor(Date.class , new JsonDateValueProcessor());  
		JSONArray json = JSONArray.fromObject(pclist , jsonConfig);







你可能感兴趣的:(Date对象)