1. 程式人生 > >JsonConfig處理日期

JsonConfig處理日期

 JsonConfig jsonConfig = new JsonConfig();
jsonConfig.registerJsonValueProcessor(Date.class,
          new DateJsonValueProcessor("yyyy-mm-dd"));
JSONObject json = JSONObject.fromObject(o, jsonConfig);

DateJsonValueProcessor類

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;

public class DateJsonValueProcessor implements JsonValueProcessor {
 public static final String Default_DATE_PATTERN ="yyyy-MM-dd";
 private DateFormat dateFormat ;
 public DateJsonValueProcessor(String datePattern){
  try{
   dateFormat  = new SimpleDateFormat(datePattern);
   
  }catch(Exception e ){
   dateFormat = new SimpleDateFormat(Default_DATE_PATTERN);
   
  }
  
 }
 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){
  return dateFormat.format((Date)value);
  
 }
}