2014-03-28 3 views
0

그래서 내가JodaModule을 Jackson을 통해 ZoneUTC() 날짜 형식과 함께 사용하려면 어떻게해야합니까?

ext.jackson = [version: '2.3.2'] 
... 
compile "com.fasterxml.jackson.core:jackson-core:${jackson.version}" 
compile "com.fasterxml.jackson.core:jackson-databind:${jackson.version}" 
compile "com.fasterxml.jackson.core:jackson-annotations:${jackson.version}" 
compile "com.fasterxml.jackson.datatype:jackson-datatype-joda:${jackson.version}" 

... 내 잭슨과 Joda 모든 설정 지원이있어 그리고 내 OjbectMapper이

private static final ObjectMapper mapper = new ObjectMapper(); 
static { 
    // JodaModule gets Dates handled as ISO-8601 strings 
    JodaModule jodaModule = new JodaModule(); 
    mapper.registerModule(jodaModule); 
    mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); 
} 

java.util.Dates

서식을 JodaModule()을 사용하도록 구성하지만, JodaModlue가 "2014-02-07T21 : 29 : 19.032 + 0000"이 아닌 "2014-02-07T21 : 29 : 19.032Z"와 같은 POJO에서 java.util.Date 어커런스를 형식화하는 방법을 알아낼 수 없습니다. ". Joda에서이 "독립 실행 형"작업을 수행하면 ISODateTimeFormat.dateTime(). ZoneUTC()가됩니다. 어떻게 DateTimeFormatter를 JodaModule()에 연결하여 ObjectMapper에 넣을 수 있습니까?

답변

0

이론상으로는 @JsonFormat(pattern="...")이라는 주석을 사용하고 있지만이 향상된 기능 (Joda 모듈 데이터 유형을 인식하고 사용하려면 @JsonFormat을 사용)은 2.4.0에만 포함될 것입니다. 하지만 일단 사용 가능 해지면 (이미 JDK 날짜/시간 유형 인 FWIW에서 작동합니다.)

하지만 Joda 모듈에 대한 기능 요청 (github 추적기에서 발행)을 사용하여 UTZ 시간대의 "최적화"출력을위한 Joda 모듈의 간단한 기능을 구체적으로 요청할 수 있습니다.

+0

"이슈 트래커"경로로 이동할 수 있습니다. 제안 해 주셔서 감사합니다. 중간에, 내가 발견 한 것은 POJO가 java.util.Date를 사용하지 않고 오히려 org.joda.time.DateTime을 사용한다면 "2014-02-07T21 : 29 : 19.032Z"출력을 얻는다는 것입니다. 나는 내 질문에 대한 정답으로 이것을 향하고있다. java.util.Date에서 가져올 수는 없지만 org.joda.time.DateTime을 활용하면 사용자는 황금색입니다. –