使用Jackson 格式化Java 8 LocalDate
問題:
建議的解決方案: 自訂格式LocalDate 物件進行JSON 序列化,可以使用以下方法: 範例程式碼: ContextResolver: 資源類別: Person類別:
使用適當的反序列化器和序列化器器類別會新增@JsonDeserialize 和@JsonSerialize 註解來處理LocalDate 轉換。 import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
@Provider
public class ObjectMapperContextResolver implements ContextResolver<ObjectMapper> {
@Override
public ObjectMapper getContext(Class<?> type) {
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JavaTimeModule());
mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
return mapper;
}
}
import java.time.LocalDate;
@Path("person")
public class LocalDateResource {
@GET
public Person getPerson() {
return new Person(LocalDate.now());
}
}
public class Person {
@JsonDeserialize(using = LocalDateDeserializer.class)
@JsonSerialize(using = LocalDateSerializer.class)
private LocalDate birthDate;
}
以上是如何使用 Jackson 在 JSON 中正確格式化 Java 8 LocalDate 物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!