2013-09-29 4 views
0

몇 가지 추가 정보로 포장 된 응답을 서버에서 받고 있습니다. 예를 들어 :Jackson - unwrapping object

 
{ 
    "response_a" : ..., 
    "some_metadata" : 1234, 
    "more_metadata" : abcd 
} 

     or 

{ 
    "response_b" : [...], 
    "some_metadata" : 1234, 
    "more_metadata" : abcd 
} 

은 "response_x"할 수있는 사용자 정의 개체, 목록 또는 해시 맵, 그것은 요청에 따라 다른 이름을 가질 수 있습니다.

단지 response_x을 비 직렬화하는 방법이 있습니까, 아니면 jackson을 사용하여 문자열로 가져 오는 방법이 있습니까?

+0

당신이 직렬화 과정이 "response_x"속성 이름이 있습니까? –

+0

예, 있습니다. 나는 단순히 JSONObject.get ("response_x"). toString()'을 사용할 수 있다고 알았지 만, 잭슨을 사용하여 그렇게하고 싶다. –

답변

0

당신은 Map에 JSON 위의 직렬화 및 get 방법을 사용하여 속성을 검색 할 수 있습니다

ObjectMapper mapper = new ObjectMapper(); 
MapType mapType = mapper.getTypeFactory().constructMapType(HashMap.class, String.class, Object.class); 
Map<String, Object> result = mapper.readValue(json, mapType); 
Object responseX = result.get("response_x"); 
관련 문제