概述
1.implement interface
/**
* 轉換JSON對象之前組要對BEAN裡面的日期格式進行處理
* @author F1637884
* @version 1.0, Jun 3, 2009
* @since JDK1.6
*/
public class JsonValueProcessorImpl implements JsonValueProcessor {
private String format = "yyyy-MM-dd hh:mm:ss";
public JsonValueProcessorImpl() {
}
public JsonValueProcessorImpl(String format) {
this.format = format;
}
public Object processArrayValue(Object value, JsonConfig jsonConfig) {
String[] obj = {};
if (value instanceof Date[]) {
SimpleDateFormat sf = new SimpleDateFormat(format);
Date[] dates = (Date[]) value;
obj = new String[dates.length];
for (int i = 0; i < dates.length; i++) {
obj[i] = sf.format(dates[i]);
}
}
return obj;
}
public Object processObjectValue(String key, Object value,
JsonConfig jsonConfig) {
if (value instanceof Date) {
String str = new SimpleDateFormat(format).format((Date) value);
return str;
}
return value.toString();
}
public String getFormat() {
return format;
}
public void setFormat(String format) {
this.format = format;
}
}
2.new an instance
//轉換JSON數據格式
JsonConfig cfg=new JsonConfig();
//過濾某些Bean的屬性,使其不進行級聯的查詢
config.setJsonPropertyFilter(new PropertyFilter(){
public boolean apply(Object source, String name, Object value) {
if(name.equals("hrAttendanceStatus") || name.equals("hrScheduleInfo")|| name.equals("commEmployeeInfo")) {
return true;
} else {
return false;
}
}
});
cfg.registerJsonValueProcessor(java.util.Date.class, new JsonValueProcessorImpl());
JSONArray jsonData = JSONArray.fromObject( attendanceList,cfg );
logger.info(jsonData.toString());
//寫入輸入流
PrintWriter writer = response.getWriter();
writer.print(attendanceList==null?"N":jsonData.toString());
writer.flush();
writer.close();
最后
以上就是内向白云为你收集整理的將JAVA數據類型轉換Json對象是日期類的處理的全部内容,希望文章能够帮你解决將JAVA數據類型轉換Json對象是日期類的處理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复