Fastjson使用 -- 序列化和反序列化的时候日期处理

来源:互联网 发布:单片机串口转usb接线 编辑:程序博客网 时间:2024/06/05 04:25

序列化

1.序列化日期为ISO-8601日期格式
2.序列化日期为指定格式
3.用默认的全局日期格式

序列化对象

public class Ao {    private int id;    private Date date;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public Date getDate() {        return date;    }    public void setDate(Date date) {        this.date = date;    }    @Override    public String toString() {        return "Ao{" +                "id=" + id +                ", date=" + date +                '}';    }}

序列化方法

 Ao ao = new Ao(); ao.setId(1); ao.setDate(new Date());// 日期不做处理 Log.e(TAG,JSON.toJSONString(ao) );// 序列化日期为ISO-8601日期格式 Log.e(TAG,JSON.toJSONString(ao,SerializerFeature.UseISO8601DateFormat) );// 序列化日期为指定格式           Log.e(TAG,JSON.toJSONStringWithDateFormat(ao, "yyyy-MM-dd HH:mm:ss.SSS") );// 修改全局的全局日期格式JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd";// 使用默认的全局日期格式Log.e(TAG,JSON.toJSONString(ao,SerializerFeature.WriteDateUseDateFormat));Ao ao1 = new Ao();ao1.setId(2);ao1.setDate(new Date());                Log.e(TAG,JSON.toJSONString(ao1,SerializerFeature.WriteDateUseDateFormat) );

log

{"date":1507606490007,"id":1}{"date":"2017-10-10T11:34:50.007+08:00","id":1}{"date":"2017-10-10 11:34:50.007","id":1}{"date":"2017-10-10","id":1}{"date":"2017-10-10","id":2}

反序列化

反序列化能够自动识别如下日期格式:

  • ISO-8601日期格式
  • yyyy-MM-dd
  • yyyy-MM-dd HH:mm:ss
  • yyyy-MM-dd HH:mm:ss.SSS
  • 毫秒数字
  • 毫秒数字字符串
  • .NET JSON日期格式
  • new Date(1982932381111)

反序列化方法

Ao ao = new Ao();ao.setId(1);ao.setDate(new Date());Ao aos1=JSON.parseObject(JSON.toJSONString(ao, SerializerFeature.UseISO8601DateFormat),Ao.class);Log.e(TAG, aos1.toString());

log

Ao{id=1, date=Tue Oct 10 12:56:15 GMT+08:00 2017}
阅读全文
0 0
原创粉丝点击