JSON 日期处理

来源:互联网 发布:台湾有希望统一 知乎 编辑:程序博客网 时间:2024/05/25 21:32
通过java输出json对象后的日期格式如下所示: 

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 stubreturn null;}public Object processObjectValue(String key, Object value,JsonConfig jsonConfig) {// TODO Auto-generated method stubif (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"}]}




原创粉丝点击