반응형
간혹 다른 것과 통신을 위해 JAVA의 객체를 JSON으로 변환할 때가 있다.
int나 String은 문제없이 데이터 그대로 보여주는데 데이터타입의 경우 전혀다른 포멧으로 변환될 때가 있다.
이번 글은 그런 문제를 해겷하기 위한 것이다.
ObjectMapper 를 이용해 Object를 Json으로 변경하면 다음과 같다.
ObjectMapper를 이용해 Json 으로 변경 후
{
"date":{
"dayOfYear":125,
"dayOfWeek":"SUNDAY",
"month":"MAY",
"dayOfMonth":5,
"year":2019,
"monthValue":5,
"hour":8,
"minute":55,
"second":33,
"nano":0,
"chronology":{
"id":"ISO",
"calendarType":"iso8601"
}
}
}
문제해결을 위해 다음 레파지토리를 추가한다.
여기서는 gradle을 이용한 추가방법이다.
dependencies {
...
//jackson-datatype-jsr310
compile group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: '2.9.8'
...
}
SpringBoot 를 이용중이라면 application.yml 파일에 다음의 내용을 추가한다
spring:
jackson:
serialization:
WRITE_DATES_AS_TIMESTAMPS: false
만약 SpringBoot 가 아니라면 다음과 같이 Bean 을 설정해주면 된다
@Bean
public ObjectMapper objectMapper() {
return Jackson2ObjectMapperBuilder
.json()
.featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
.modules(new JavaTimeModule())
.build();
}
이제 다시 변환해보면 다음과 같은 방식으로 변형된다
{
"date":"2019-05-05T08:22:03",
}
끝.
반응형
'공부 > 프로그래밍' 카테고리의 다른 글
[Linux-centos7] letsencrypt 갱신 실패시 대처법 (0) | 2019.07.02 |
---|---|
[AWS, Springboot] SqsListener 사용 시 pool_size 문제 및 메세지처리 팁 (0) | 2019.06.16 |
[centos7] HTTPS 무료 인증설치방법(--manual 옵션 사용) (0) | 2019.04.22 |
[springboot] Spring batch 테스트 시 사용하는 JobLauncherTestUtils 쓸 때 설정법 (0) | 2019.03.29 |
[python3] Flask-SQLAlchemy 사용 시 json 으로 데이터 가공하기 (0) | 2019.03.11 |
댓글