通过java输出json对象后的日期格式如下所示:
结果:Sat Dec 12 1998 08:25:36 GMT+0800 (CST);
测试:
结果:
var obj = {
"data" : [{
"SAL" : 2975,
"JOB" : "MANAGER",
"ENAME" : "JONES",
"EMPNO" : 7566,
"HIREDATE" : {
"date" : 12,
"day" : 6,
"hours" : 8,
"minutes" : 25,
"month" : 11,
"nanos" : 0,
"seconds" : 36,
"time" : 913422336000,
"timezoneOffset" : -480,
"year" : 98
}
}]
}
var d=new Date(obj.data[0].HIREDATE.time).toLocaleString();
结果:Sat Dec 12 1998 08:25:36 GMT+0800 (CST);
或者在java端处理:
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
public class JsonValueProcessorImpl implements JsonValueProcessor {
private String format;
public JsonValueProcessorImpl(String format) {
super();
this.format = format;
}
public Object processArrayValue(Object arg0, JsonConfig arg1) {
// TODO Auto-generated method stub
return null;
}
public Object processObjectValue(String key, Object value,
JsonConfig jsonConfig) {
// TODO Auto-generated method stub
if (value instanceof Date) {
String str = new SimpleDateFormat(format).format((Date) value);
return str;
}
if (value instanceof Timestamp) {
String str = new SimpleDateFormat(format).format((Timestamp) value);
return str;
}
return null;
}
/*
* 以下部分自行处理
*/
public JsonConfig getJsonConfig() {
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.registerJsonValueProcessor(java.util.Date.class,
new JsonValueProcessorImpl(this.format));
jsonConfig.registerJsonValueProcessor(java.sql.Timestamp.class,
new JsonValueProcessorImpl(this.format));
return jsonConfig;
}
public String getStrByList(List obj) {
JSONArray jsonArray = JSONArray.fromObject(obj, this.getJsonConfig());
return jsonArray.toString();
}
public String getStrByObject(Object obj) {
JSONObject json = JSONObject.fromObject(obj, this.getJsonConfig());
return json.toString();
}
}
测试:
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.registerJsonValueProcessor(java.util.Date.class,
new JsonValueProcessorImpl("yyyy-MM-dd HH:mm:ss"));
jsonConfig.registerJsonValueProcessor(java.sql.Timestamp.class,
new JsonValueProcessorImpl("yyyy-MM-dd HH:mm:ss"));
JSONArray jsonArr = new JSONArray();
System.out.println(jsonArr.fromObject(new PageBean(), jsonConfig));
System.out.println(JSONObject.fromObject(new PageBean(), jsonConfig));
JsonValueProcessorImpl jsonValue = new JsonValueProcessorImpl(
"yyyy-MM-dd HH:mm:ss");
System.out.println(jsonValue.getStrByList(new ArrayList()));
System.out.println(jsonValue.getStrByObject(new PageBean()));
结果:
var obj = {
"data" : [{
"SAL" : 2975,
"JOB" : "MANAGER",
"ENAME" : "JONES",
"EMPNO" : 7566,
"HIREDATE" : "1998-12-12 08:25:36"
}]
}