ObjectMapper反序列化duration
时间: 2023-07-18 11:28:07 浏览: 84
实例解析Json反序列化之ObjectMapper(自定义实现反序列化方法)
可以使用 Jackson 库中的 `JsonDeserializer` 来实现 `Duration` 的反序列化。以下是一个示例代码:
```java
public class DurationDeserializer extends JsonDeserializer<Duration> {
@Override
public Duration deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {
String durationStr = p.getValueAsString();
return Duration.parse(durationStr);
}
}
```
然后在需要反序列化 `Duration` 类型的字段上使用 `@JsonDeserialize` 注解指定使用该反序列化器:
```java
public class MyObject {
@JsonDeserialize(using = DurationDeserializer.class)
private Duration duration;
// other fields and methods
}
```
这样就可以将 JSON 字符串中的字符串类型的持续时间字段反序列化为 `Duration` 类型了。
阅读全文