2014-11-21 4 views
1

Jackson이 캘린더를 구문 분석하는 방법을 어떻게 구성합니까? 어쨌든 형식을 설정합니까? 내가 Spring MVC - JSON - Java 객체로 캘린더 구문 분석 구성하기

@RequestMapping(value = "/assign", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE) 
    @ResponseBody 
    public Form5398Obj arriveTrip(@PathVariable String siteId, 
       @RequestBody ErrorMsg anError) throws Exception { 

     System.out.println(anError.toString()); 

    } 

을 사용하고

난에서 errormsg의 달력 필드가 제대로 변환되지 않기 때문에 나는 오류 400 무엇입니까났습니다. POST에서 제거하면 제대로 작동합니다.

나를 위해 일한 표준 양식이 있음을 발견했습니다. "yyyy-MM-dd'T'HH : mm : ss.SSSZ", "yyyy-MM-dd'T'HH : mm : 명시 적으로 특정 방법을 구문 분석을 말할 어쨌든 거기

"YYYY-MM-DD", "SS의 ZZZ

: mm : ss.SSS'Z '", "EEE, MMM yyyy로의 HH를 dd는? 잭슨 2.0을 위해 그것을 할 수있는 방법에 대한 자주 묻는 질문에
+0

와 속성을 주석을 달 수 있습니다. 당신의 문장은별로 의미가 없습니다. 죄송합니다. – specializt

답변

1

here직렬화에 대한 자주 묻는 질문에서

예 :.

그에서 독립
public class DateStuff { 
    @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd,HH:00", timezone="CET") 
    public Date creationTime; 
} 

, 심지어 내가 말하려고했던 것을 이해하지 못하는 여러 번 시도 후 ... 거기에 자신의 시리얼 클래스를 작성의 가능성과 @JsonDeSerialize(using MyDeSerializer.class)

public class MyJsonDateDeserializer extends JsonDeserializer<Date> 
{ 
    @Override 
    public Date deserialize(JsonParser jsonparser, 
      DeserializationContext deserializationcontext) throws IOException, JsonProcessingException { 

     SimpleDateFormat f = new SimpleDateFormat("dd.MM.yyyy"); // german date 
     String d = jsonparser.getText(); 
     try { 
      return f.parse(d); 
     } catch (ParseException e) { 
      throw new RuntimeException(e); 
     } 

    } 

} 
+0

'@ JsonFormat'을 사용하면 나에게 큰 도움이되었습니다. 감사! JSON에 직렬화 할 때만 주석이 있다고 생각했습니다. – Alan

관련 문제