2011-08-04 2 views
15

아파치 http 클래스를 사용하여 응답 본문에 JSON 객체를 반환하는 웹 서비스를 호출합니다. JSON 객체에 매핑 된 Jackson 주석 자바 클래스가 있습니다. 나는이 일을하고 싶지만, 구글은 올바른 상용구를 보여주지 못했다.Jackson 주석을 사용하여 HttpResponse에서 JSON 객체를 역 직렬화하는 방법은 무엇입니까?

String url = hostName + uri; 
    HttpGet httpGet = new HttpGet(url); 
    HttpResponse response = httpclient.execute(httpGet); 
    MyObject myObject = (MyObject)response.getEntity().getContent(); 
+0

도움이되지 : http://wiki.fasterxml.com/JacksonInFiveMinutes. –

+0

이 HttpGet이고 HttpResponse가 비동기 호출인지 여부입니다. : D – gumuruh

답변

36

사용해야하는 ObjectMapper :

MyObject myObject = objectMapper.readValue(response.getEntity().getContent(), MyObject.class); 

(객체 매퍼 인스턴스를 재사용 할 수 있으므로 각 직렬화에 대한 새로운 만들 필요) 문서를 읽기

+0

아, 고마워. 잭슨 박사님에게서 분명하지 않았습니다. – MebAlone

+0

모든 Jackson 메서드는 'readValue (source, type)'형식을 갖기 때문에 다음과 같은 패턴을 갖습니다. IDE를 사용할 때 자동 완성 기능을 사용하면 가능성을 보여줍니다 (그렇지 않은 경우 javadocs를 확인해야 함) – StaxMan

관련 문제