2016-11-15 5 views
0

Я занимаюсь разработкой веб-службы с Джерси, у меня возникают проблемы, потому что, когда я возвращал ответ JSON в браузер я получаю сообщение об ошибке:JSON ответ с Джерси не работает

писатель тела сообщения для класса Java org.json.JSONObject и класса типа Java org.json.JSONObject и MIME application/json не было найдено.

Это то, что я закодированы:

@Path("details") 
    @GET 
    @Produces("application/json") 
    public Response questionDetails(){ 
     JSONObject json = new JSONObject(); 
     json.put("kind", "Yes/No"); 
     json.put("tipeCode", 1); 
     return Response.status(200).entity(json).build(); 
    } 

На том же классе Java У меня есть рабочий пример с другого сайта:

@Path("test") 
     @GET 
     @Produces("application/json") 
     public Response convertFtoCfromInput() throws JSONException, SQLException { 

     JSONObject jsonObject = new JSONObject(); 
     float celsius; 
     celsius = (f - 32)*5/9; 
     jsonObject.put("F Value", f); 
     jsonObject.put("C Value", celsius); 
     jsonObject.put("number", number); 
     jsonObject.put("statement", statement); 

     String result = "@Produces(\"application/json\") Output: \n\nJSON from Path: \n\n" + jsonObject; 
     return Response.status(200).entity(result).build(); 
     } 

Эти два мирам кода очень похожи друг друг другой, но я не понимаю, почему mi part не работает. Я просто хочу вернуть JSON, как в примере, но без String.

Thanks

+0

Тестирование с помощью кода, который работает, я заметил, что если я просто верну объект JSON без String, у меня будет такая же ошибка, то как я могу вернуть JSON? – proktovief

ответ

0

Я решил! Я был очень застрял, так что я не видел, насколько легко это решение, я просто должен был преобразовать JSON в строку:

return Response.status(200).entity(json.toString()).build(); 

С этим все решается. Я очень смущен.

Смежные вопросы