问题:
在将java.util.Date 类型字段转为json时,获取时取到的日期为[object object] ,无法进行操作。
解决方法:添加自定义的日期格式转化类
package com.icinfo.tc.eseal.core.action.sys;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
public class JsonDateValueProcessor implements JsonValueProcessor{
private String format = "yyyy-MM-dd";
@Override
public Object processArrayValue(Object value, JsonConfig config) {
System.out.println("in JsonDateValueProcessor processArrayValue method ");
return process(value);
}
@Override
public Object processObjectValue(String key, Object value, JsonConfig config) {
System.out.println("in JsonDateValueProcessor processObjectValue method ");
return process(value);
}
public Object process(Object value){
System.out.println("in JsonDateValueProcessor method ");
if(value instanceof Date){
System.out.println("in JsonDateValueProcessor method is date");
SimpleDateFormat sdf = new SimpleDateFormat(format,Locale.UK);
return sdf.format(value);
}
System.out.println("in JsonDateValueProcessor method is not date");
return value==null?"":value.toString();
}
}
调用:
JsonConfig jsonconfig = new JsonConfig();
jsonconfig.registerJsonValueProcessor(java.util.Date.class, new JsonDateValueProcessor());
usersealJSONArray = JSONArray.fromObject(usersealService.doGetUserSeal(mobjQryMap),jsonconfig);
在将java.util.Date 类型字段转为json时,获取时取到的日期为[object object] ,无法进行操作。
解决方法:添加自定义的日期格式转化类
package com.icinfo.tc.eseal.core.action.sys;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
public class JsonDateValueProcessor implements JsonValueProcessor{
private String format = "yyyy-MM-dd";
@Override
public Object processArrayValue(Object value, JsonConfig config) {
System.out.println("in JsonDateValueProcessor processArrayValue method ");
return process(value);
}
@Override
public Object processObjectValue(String key, Object value, JsonConfig config) {
System.out.println("in JsonDateValueProcessor processObjectValue method ");
return process(value);
}
public Object process(Object value){
System.out.println("in JsonDateValueProcessor method ");
if(value instanceof Date){
System.out.println("in JsonDateValueProcessor method is date");
SimpleDateFormat sdf = new SimpleDateFormat(format,Locale.UK);
return sdf.format(value);
}
System.out.println("in JsonDateValueProcessor method is not date");
return value==null?"":value.toString();
}
}
调用:
JsonConfig jsonconfig = new JsonConfig();
jsonconfig.registerJsonValueProcessor(java.util.Date.class, new JsonDateValueProcessor());
usersealJSONArray = JSONArray.fromObject(usersealService.doGetUserSeal(mobjQryMap),jsonconfig);