Java joda LocalTime的Jackson serializaton
我正在使用SpringBoot和JPA和Jodatime 目前,我有一个模型属性,注释如下:Java joda LocalTime的Jackson serializaton,java,serialization,spring-boot,jackson,jodatime,Java,Serialization,Spring Boot,Jackson,Jodatime,我正在使用SpringBoot和JPA和Jodatime 目前,我有一个模型属性,注释如下: @Type(type="org.jadira.usertype.dateandtime.joda.PersistentLocalTime") @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm") private LocalTime startTime; { "startTime": "12:00" } 序列化后,JSON将
@Type(type="org.jadira.usertype.dateandtime.joda.PersistentLocalTime")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm")
private LocalTime startTime;
{
"startTime": "12:00"
}
序列化后,JSON将变成:
{
"startTime" : {
"hourOfDay" : 12,
"minuteOfHour" : 0,
"secondOfMinute" : 0,
"millisOfSecond" : 0,
"chronology" : {
"zone" : {
"fixed" : true,
"id" : "UTC"
}
}
}
我想知道是否有办法将该属性序列化为如下所示:
@Type(type="org.jadira.usertype.dateandtime.joda.PersistentLocalTime")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm")
private LocalTime startTime;
{
"startTime": "12:00"
}
我尝试过使用@JsonFormat注释,但它似乎不起作用。您可以执行以下操作:
@JsonSerialize(using = MyLocalTimeSerializer.class)
private LocalTime startTime;
然后创建MyLocalTimeSerializer.class:
public class MyLocalTimeSerializer extends JsonSerializer<LocalTime> {
@Override
public void serialize(
LocalTime time,
JsonGenerator gen,
SerializerProvider arg2) throws IOException, JsonProcessingException {
gen.writeString(time.toString("HH:mm"));
}
}
这需要jackson数据绑定库
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.databind-version}</version>
</dependency>
你可以这样做:
@JsonSerialize(using = MyLocalTimeSerializer.class)
private LocalTime startTime;
然后创建MyLocalTimeSerializer.class:
public class MyLocalTimeSerializer extends JsonSerializer<LocalTime> {
@Override
public void serialize(
LocalTime time,
JsonGenerator gen,
SerializerProvider arg2) throws IOException, JsonProcessingException {
gen.writeString(time.toString("HH:mm"));
}
}
这需要jackson数据绑定库
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.databind-version}</version>
</dependency>
可能重复的可能重复的不应该扩展JsonSerializer?@kandan是的!我会修好的!不应该扩展JsonSerializer吗?@kandan是的!我会修好的!