JsonFormat注解
时间: 2023-08-25 13:15:23 浏览: 166
JsonFormat注解是Java中的一个注解,它用于指定Java对象在序列化为JSON字符串时的格式。通过在字段或方法上使用@JsonFormat注解,可以对日期、时间、数字等类型进行格式化和定制。
@JsonFormat注解有以下常用的属性:
1. pattern:指定日期、时间或数字的格式模式。例如,指定日期的格式为"yyyy-MM-dd HH:mm:ss"。
2. shape:指定日期、时间或数字的转换形式。常用的取值有:
- Shape.STRING:将日期、时间或数字转换为字符串。
- Shape.NUMBER:将日期、时间或字符串转换为数值类型。
- Shape.ARRAY:将日期、时间或字符串转换为数组类型。
- Shape.OBJECT:将日期、时间或字符串转换为对象类型。
3. timezone:指定日期、时间的时区。默认情况下,使用系统默认时区。
4. locale:指定日期、时间的语言环境。默认情况下,使用系统默认语言环境。
5. lenient:指定是否宽松解析日期、时间。默认为false,即严格解析。
示例代码如下:
```java
import com.fasterxml.jackson.annotation.JsonFormat;
public class MyObject {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
// getter和setter方法省略
}
```
在上述示例中,createTime字段使用@JsonFormat注解指定了日期的格式为"yyyy-MM-dd HH:mm:ss",时区为GMT+8。在序列化为JSON字符串时,会按照指定的格式进行转换。
需要注意的是,@JsonFormat注解只对Java对象序列化为JSON字符串时有效,对于从JSON字符串反序列化为Java对象时无效。如果需要在反序列化时指定格式,可以使用@JsonDeserialize注解。
阅读全文