fastjson date 注解
时间: 2023-08-05 14:23:27 浏览: 228
fastjson提供了两个注解用于处理日期类型的转换:
1. @JSONField(format = "yyyy-MM-dd HH:mm:ss")
这个注解可以用在属性上,用来指定序列化时该属性的日期格式。例如:
```java
public class User {
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
// getter and setter methods
}
```
2. @JSONField(deserializeUsing = DateDeserializer.class)
这个注解可以用在属性上,用来指定反序列化时该属性的日期格式。例如:
```java
public class User {
@JSONField(deserializeUsing = DateDeserializer.class)
private Date createTime;
// getter and setter methods
}
public class DateDeserializer implements ObjectDeserializer {
public <T> T deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
String dateStr = parser.getLexer().stringVal();
try {
return (T) new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dateStr);
} catch (ParseException e) {
throw new JSONException("parse error");
}
}
public int getFastMatchToken() {
return JSONToken.LITERAL_STRING;
}
}
```
这里我们自定义了一个DateDeserializer类,使用SimpleDateFormat解析日期。注意,这个注解只能用于反序列化,如果需要同时指定序列化和反序列化的日期格式,需要同时使用这两个注解。
阅读全文