我正在尝试将 JSON 文件反序列化为 POJO 对象,但出现错误。JSON 文件看起来像 (NotificationPOST.json) { "endDate":"2018-12-27", "malfunctionStartDate":"2018-11-20T22:22:22", "malfunctionEndDate":"2018-11-21T12:34:46" }POJO类有 @DateFormat(field = "Start Date", groups = Order.Level2.class) @JsonSerialize(using = DateSerializer.class) private DateTime startDate; @DateFormat(field = "End Date", groups = Order.Level2.class) @JsonSerialize(using = DateSerializer.class) private DateTime endDate;自定义 DateSerializer 类import com.fasterxml.jackson.core.JsonGenerator;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.JsonSerializer;import com.fasterxml.jackson.databind.SerializerProvider;import java.io.IOException;import org.joda.time.DateTime;import org.joda.time.format.DateTimeFormat;import org.joda.time.format.DateTimeFormatter;public class DateSerializer extends JsonSerializer<DateTime> { private static DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd"); public DateSerializer() { } public void serialize(DateTime value, JsonGenerator gen, SerializerProvider serializers) throws IOException, JsonProcessingException { gen.writeString(formatter.print(value)); }}我试图运行的测试类@BeforeClass public static void init() { notificationPOST = new File("src/test/resources/json/NotificationPOST.json"); }@Testpublic void notificationPayloadToEntityTest () throws IOException {private ObjectMapper objectMapper = new ObjectMapper(); NotificationPOST post = objectMapper.readValue(notificationPOST, NotificationPOST.class);}
1 回答
慕沐林林
TA贡献2016条经验 获得超9个赞
您可以添加jackson-datatype-joda
到您的依赖项,然后JodaModule
在您的ObjectMapper
:
ObjectMapper mapper = new ObjectMapper(); mapper.registerModule(new JodaModule());
添加回答
举报
0/150
提交
取消