2013-10-07 4 views
0

Ajax와 JSON을 사용하여 일부 서블릿에 배열을 전달하고 있습니다. 내 프레임 워크로 Struts1.3을 사용하고 있습니다. ActionServlet에서 매개 변수를 얻을 때 매개 변수로 null을받습니다.매개 변수를 null로 가져 오는 JSON

$.ajax({ 
    url: "startTest.do?cmdField=ajax", 
    type: "POST", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    data:JSON.stringify(answerJson), 
    contentType:"application/json" 
    //complete:callback 
}); 

내 JSON 객체 answerJson 값 : 내가 사용하는 경우 내 서블릿에서

{"answer":[{"qId":"13","selAns":"A"},{"qId":"2","selAns":"A"},{"qId":"12","selAns":"A"},{"qId":"6","selAns":"A"}]} 

은 아래의 문장은 널 (null) 제공합니다.

System.out.println(request.getParameter("answer")); 

나는 다시 나에게 오류를 준

JsonAns ans = gson.fromJson(request.getParameter("answer"), JsonAns.class); 

로 GSON을 사용하려고 사용합니다.

어떻게 GSON을 사용하여 List에 매개 변수 값을 가져올 수 있습니까?

답변

1

해결책을 찾았습니다. req.getParameter ("anything")는 콘텐츠 유형이 "application/x-www-form-urlencoded"또는 일반 HTTP GET (URL 매개 변수 용)으로 가정합니다.

Foo foo = gson.fromJson(req.getReader(), Foo.class); 
+0

해결책으로 표시하십시오. – giampaolo

+0

지금은 해결책으로 표시 할 수 없습니다. 2 일이 걸린다. – Arun

0

나는

는 다음 사용하여이

String jsonStr=request.getParameter("answer"); 

를 JSON을 얻을 요청

을 보낼 때 먼저이

같은 JSON 매개 변수를 얻을

answer=json 

처럼 PARAM을 보내해야한다고 생각 json 문자열을 json obj로 변환 한 다음 gson을 사용하여 구문 분석합니다

희망이 있습니다.

+0

나는 게시물의 매개 변수로 보낼 필요가 : 콘텐츠 형식 "응용 프로그램/JSON"이 경우

, 우리는 사용할 필요가있다. 그것이 문제이다. – Arun

+0

단순히 콘텐츠 유형을 html/text로 변경하고 answer = json으로 데이터를 보내거나 [this] (http://stackoverflow.com/questions/17802851/reading-json-values-in-servlet)로 읽는 방법에는 두 가지가 있습니다. 보내고 아약스 게시 요청을 통해 json을 검색하는 방법에 대한 더 나은 아이디어를 얻으려면 –

+0

예하지만 내 요구 사항은 게시 매개 변수로 보내 주었다! – Arun

관련 문제