jsonトランスオブジェクトとオブジェクト配列localdatetimeエラー解決
11266 ワード
jsonトランスオブジェクト
プロファイルLocalDateTimeConfigクラスを作成するには、
をいくつか示します.
package com.ryan.cofig;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@Configuration
public class LocalDateTimeConfig {
private final static String DATE_TIME_FORMATTER = "yyyy-MM-dd HH:mm:ss";
@Bean
ObjectMapper objectMapper() {
return new Jackson2ObjectMapperBuilder()
.findModulesViaServiceLoader(true)
.serializerByType(LocalDateTime.class, new LocalDateTimeSerializer(
DateTimeFormatter.ofPattern(DATE_TIME_FORMATTER)))
.deserializerByType(LocalDateTime.class, new LocalDateTimeDeserializer(
DateTimeFormatter.ofPattern(DATE_TIME_FORMATTER)))
.build();
}
}
```javascript
//
@Autowired
private ObjectMapper objectMapper;
@Test
public void test() throws IOException {
UserTest userTest = new UserTest("mocar", LocalDateTime.now(),
LocalDateTime.of(2020, 5, 1, 12, 0));
System.out.println(userTest);
System.out.println("------ json, -----------");
String json = objectMapper.writeValueAsString(userTest);
System.out.println(json);
System.out.println("------ json , -----------");
UserTest userTest1 = objectMapper.readValue(json, UserTest.class);
System.out.println(userTest1);
jsonトランスオブジェクト配列
ObjectMapper mapper = new ObjectMapper();
List<MltWaitLendReco> lendReco = mapper.readValue(listStr,new TypeReference<List<MltWaitLendReco>>() { });
System.out.println(lendReco.get(0).getId());