2013-10-18 4 views
0

안녕하세요. 인터넷 검색을 시도했지만 달성하고자하는 솔루션을 찾을 수 없습니다.Json Rest Service의 Json 객체로 Json 요청을 사용하는 방법

예 내가 달성하고자하는

public Response createUpdateDeleteManualClinicalData(JSONObject json) 

일 주위 JSON 개체 자체로 계속 우리가

@POST 
@Consumes(application/json) 
@Produces(application/json) 
public Response createUpdateDeleteManualClinicalData(MyJavaPojo definedPojo) { 
    // this maps any json to a java object, but in my case I am dealing with generic json structure 
} 

을 자바 객체에 JSON를 매핑 : 나는 일반 텍스트로 데이터를 얻을 수 있으며, 그것을 json으로 변환하십시오. 그러나 나는 피하고자하는 내 편에서의 오버 헤드입니다.

편집 : JsonNode 등의 Json 라이브러리를 사용할 수 있습니다. 가능한 한 Json 객체 구조를 직접적으로 Json의 String 오버 헤드없이 가져옵니다. 이것은 일반적인 사용법이거나 여기에 몇 가지 핵심 개념이 빠져 있어야합니다.

답변

1

내가 간과 한 바로 그 해결책이었습니다. 저지 층에서 무슨 마법을 알고 궁금 ... 내가 생각했던 것보다 훨씬 똑똑

@POST 
@Consumes(application/json) 
@Produces(application/json) 
public Response createUpdateDeleteManualClinicalData(JsonNode jsonNode) { 
//jsoNode body casted automatically into JsonNode 
} 
0

자세한 내용을 제공 할 수있는 이유는 무엇입니까? JSONObject를 사용하는 이유는 무엇입니까? 더 매력적인 솔루션을 제공 할 수 있습니다. 하지만 내 솔루션, 당신은 json에 대한 핵심 가치 관계를 원한다면 hashmap을 사용할 수 있습니다.

+0

나는지도에 페이로드를 변환하는 솔루션을보고 매우 관심이 있지만 직접 JSON 개체가하고자하는 동일한 요청을 처리하고자하는 인프라의 여러 소스로 전달할 수 있습니다. – AkD

0

web.xml setup gists for Jersey1 and Jackson2과 동일한 구성을 사용하는 경우 다음과 같이 할 수 있습니다. 이 방법은 JSONObject를 사용하는 것보다 가능합니다.

@POST 
@Path("/sub_path2") 
@Consumes(MediaType.APPLICATION_JSON) 
@Produces(MediaType.APPLICATION_JSON) 
public Map<String,Object> saveMethod(Map<String,Object> params ) throws IOException { 

    // Processing steps 

    return params; 
} 
관련 문제