2011-04-06 4 views
0

안녕하세요, 저는 REST 웹 서비스를하고 있습니다. GET/POST 메소드를 요청하면 응답은 200 OK입니다. 하지만 key, value를 사용하여 응답을 받고 싶습니다. 그래서 내가 같이 쓰기 :JSON 응답을 해결하는 방법은 무엇입니까?

@GET 
    @Produces("application/json") 
    public Response getContainer(@Context HttpHeaders headers){ 

     mongoDAOImpl impl=new mongoDAOImpl(); 
     Mongo mongo=impl.getConnection("127.0.0.1","27017"); 
     DB db=impl.getDataBase(mongo,"public"); 
     DBCollection coll=impl.getColl(db,"public"); 
     mongoDTO dto=new mongoDTO(); 


    try{ 
     DBCursor dbcur=impl.findAllRecords(coll); 
     DBObject o; 
     while(dbcur.hasNext()){ 
      o=dbcur.next(); 

     } 
     if(dbcur==null){ 
      return Response.status(Response.Status.NOT_FOUND).build(); 
     }else{ 
      String respStr=dto.toJson(false); 
     return Response.ok(respStr).header("Specification-version", "1.0").build(); 
      } 
    } 
     catch(Exception ex){ 
       ex.printStackTrace(); 
     return Response.status(Response.Status.NOT_FOUND).tag("Container Read Error : " + ex.toString()).build(); 
    } 
    } 

하지만 결과는

GET /web/jersey/resources/cloud/juniarto
HTTP/1.1
User-Agent: curl/7.21.0 (i686-pc-linux-gnu) libcurl/7.21.0
OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18
Host: localhost:26235
Accept: */*
HTTP/1.1 200 OK
X-Powered-By: Servlet/3.0
Server: GlassFish Server
Open Source Edition 3.0.1
Specification-version: 1.0
Content-Type: application/json
Transfer-Encoding: chunked
Date: Wed, 06 Apr 2011 00:56:48 GMT
Connection #0 to host localhost left intact
Closing connection #0 Error:org.codehaus.jackson.JsonGenerationException: Can not write a field name, expecting a values

어떤 제안

이다있어?

답변

1

사용중인 Jersey 버전은 무엇입니까? JSON 출력에 배열이 있습니까?

JERSEY-478이 발생했습니다. Jersey 1.5 이상으로 업데이트하십시오.

관련 문제