LocalDateTime string 序列化和反序列化 全局配置怎么写 怎么使用
时间: 2023-07-18 22:06:57 浏览: 98
在 Java 中,我们可以使用 Jackson 库来实现 LocalDateTime 类型的序列化和反序列化。下面是全局配置的示例代码:
```java
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.registerModule(new JavaTimeModule());
objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
```
这里,我们创建了 ObjectMapper 对象,并注册了 JavaTimeModule,该模块支持 Java 8 中的日期和时间 API。然后,我们禁用了将日期序列化为时间戳的选项。
接下来,我们可以使用这个 ObjectMapper 对象来进行 LocalDateTime 类型的序列化和反序列化。例如,如果我们要将一个 LocalDateTime 对象序列化为 JSON 字符串,可以这样做:
```java
LocalDateTime dateTime = LocalDateTime.now();
String json = objectMapper.writeValueAsString(dateTime);
```
如果我们要将一个表示 LocalDateTime 的 JSON 字符串反序列化为 LocalDateTime 对象,可以这样做:
```java
String json = "{\"year\":2021,\"month\":\"JULY\",\"dayOfMonth\":12,\"hour\":14,\"minute\":30,\"second\":0,\"nano\":0}";
LocalDateTime dateTime = objectMapper.readValue(json, LocalDateTime.class);
```
这里,我们使用了 readValue 方法来将 JSON 字符串反序列化为 LocalDateTime 对象。注意,我们需要指定要反序列化的目标类型,即 LocalDateTime.class。
阅读全文