日期:2014-05-16  浏览次数:20296 次

json对日期的处理
创建一个json配置类

package com.iman.common;

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

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

/**
* @author zhang yanan
* @createTime 2011-3-12 下午02:57:17
* @desc Json处理java对象到json格式转换的日期处理类
*
*/
public class JsonDateValueProcessor implements JsonValueProcessor {
private String datePattern="yyyy-MM-dd";//日期格式

public JsonDateValueProcessor(){
super();
}
//构造函数
public JsonDateValueProcessor(String format){
super();
this.datePattern = format;
}

public Object processArrayValue(Object value, JsonConfig jsonConfig) {
// TODO Auto-generated method stub
return process(value);
}

public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) {
// TODO Auto-generated method stub
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 datePaterns){
this.datePattern = datePaterns;
}


}






调用方法

//json配置
JsonConfig jsonConfig = new JsonConfig();
//设置javabean中日期转换时的格式
jsonConfig.registerJsonValueProcessor(Date.class,new JsonDateValueProcessor("yyyy-MM-dd"));
//获取json数组
JSONArray jsonArray = JSONArray.fromObject(baseSheetDtolist,jsonConfig);
log.info(jsonArray.toString());