json datatime convert

mac2022-06-30  89

原文链接

1.JSON日期格式转换

默认JSON对DATE类型会转换成一个多属性对象, 而不是单独的一个字符串, 在某些应用处理上不是很方便,  可以利用JsonValueProcessor来实现日期的转换.

 默认格式:

"lastUpdate": {                 "date": 29,                 "day": 3,                 "hours": 14,                 "minutes": 46,                 "month": 1,                 "seconds": 41,                 "time": 1330498001000,                 "timezoneOffset": -480,                 "year": 112             },

转换后格式:

"lastUpdate": "2012-02-29 14:46:41"

自定义一个日期处理器:

import java.text.SimpleDateFormat;  import java.util.Date;    import net.sf.json.JsonConfig;  import net.sf.json.processors.JsonValueProcessor;    /**   * JSON日期格式转换  *  */  public class DateJsonValueProcessor implements JsonValueProcessor  {      private String format = "yyyy-MM-dd HH:mm:ss";        public DateJsonValueProcessor()      {        }        public DateJsonValueProcessor(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;      }        public String getFormat()      {            return format;      }        public void setFormat(String format)      {            this.format = format;      }    }  

转换调用代码:

JsonConfig jsonConfig = new JsonConfig();  jsonConfig.registerJsonValueProcessor(java.util.Date.classnew DateJsonValueProcessor());  JSONObject jsonObj = JSONObject.fromObject(bean, jsonConfig);  return jsonObj.toString();  

转载于:https://www.cnblogs.com/mendeliang/p/5070826.html

最新回复(0)