本节我们来简单介绍一下fastjson对日期的处理
fastjson处理日期的API很简单,例如:
JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd HH:mm:ss.SSS");
- 1
使用ISO-8601日期格式
JSON.toJSONString(obj, SerializerFeature.UseISO8601DateFormat);
- 1
全局修改日期格式
JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd";JSON.toJSONString(obj, SerializerFeature.WriteDateUseDateFormat);
- 1
- 2
反序列化能够自动识别如下日期格式:
- ISO-8601日期格式
- yyyy-MM-dd
- yyyy-MM-dd HH:mm:ss
- yyyy-MM-dd HH:mm:ss.SSS
- 毫秒数字
- 毫秒数字字符串
- .NET JSON日期格式
- new Date(198293238)
下面来看看具体的代码示例:
User 类:
package json.fastjson.date;import java.util.Date;public class User { private Long id; private String name; // 增加时间字段 private Date date; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getDate() { return date; } public void setDate(Date date) { this.date = date; } @Override public String toString() { return "User [id=" + id + ", name=" + name + ", date=" + date + "]"; }}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
测试类:
package json.fastjson.date;import java.util.Date;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.serializer.SerializerFeature;public class TestDate { public static void main(String[] args) { User user = new User(); user.setId(2L); user.setName("guest"); user.setDate(new Date()); // 序列化 String jsonString = JSON.toJSONString(user); System.out.println("序列化:" + jsonString); // 序列化处理时间,方式一 jsonString = JSON.toJSONStringWithDateFormat(user, "yyyy-MM-dd HH:mm:ss.SSS"); System.out.println("序列化处理时间,方式一:" + jsonString); // 序列化处理时间,方式二:ISO-8601日期格式 jsonString = JSON.toJSONString(user, SerializerFeature.UseISO8601DateFormat); System.out.println("序列化处理时间,方式二:ISO-8601日期格式:" + jsonString); // 序列化处理时间,方式三:全局修改日期格式 JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd"; jsonString = JSON.toJSONString(user, SerializerFeature.WriteDateUseDateFormat); System.out.println("序列化处理时间,方式三:全局修改日期格式:" + jsonString); }}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
输出结果:
序列化:{"date":1516884789616,"id":2,"name":"guest"}序列化处理时间,方式一:{"date":"2018-01-25 20:53:09.616","id":2,"name":"guest"}序列化处理时间,方式二:ISO-8601日期格式:{"date":"2018-01-25T20:53:09.616+08:00","id":2,"name":"guest"}序列化处理时间,方式三:全局修改日期格式:{"date":"2018-01-25","id":2,"name":"guest"}
- 1
- 2
- 3
- 4
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.youkuaiyun.com/jiangjunshow