一,应用类:
import java.util.Date;
import net.sf.json.JSON;
import net.sf.json.JSONArray;
import net.sf.json.JsonConfig;
public void loadNotice() throws IOException {
List<ContentTable> notices = contentTableService.getContentTables(
"通知公告", 1, null, "0", 1, 5);
JsonConfig cf=new JsonConfig();
cf.registerJsonValueProcessor(Date.class,
new JsonDateValueProcessor("yy-MM"));
JSONArray ja = JSONArray.fromObject(notices, cf);
writeText(ja.toString());
}
二,转换类:
package com.sofmit.framework.util;
import java.text.SimpleDateFormat;
import java.util.Date;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
public class JsonDateValueProcessor implements JsonValueProcessor {
/**
* datePattern
*/
private String datePattern;
public JsonDateValueProcessor(){
this.datePattern="yyyy-MM-dd hh:mm:ss";
}
public JsonDateValueProcessor(String formate){
this.datePattern=formate;
}
@Override
public Object processArrayValue(Object value, JsonConfig config) {
System.out.println("arrty== "+value);
return process(value);
}
@Override
public Object processObjectValue(String key, Object value, JsonConfig config) {
System.out.println("object== "+value);
return process(value);
}
/**
* process
* @param value
* @return
*/
private Object process(Object value) {
System.out.println(value+"===test");
try {
if (value instanceof Date) {
SimpleDateFormat sdf = new SimpleDateFormat(datePattern);
return sdf.format((Date) value);
}
return value == null ? "" : value.toString();
} catch (Exception e) {
return "";
}
}
/**
* @return the datePattern
*/
public String getDatePattern() {
return datePattern;
}
/**
* @param pDatePattern the datePattern to set
*/
public void setDatePattern(String pDatePattern) {
datePattern = pDatePattern;
}
}