1

Я создал JSONRequest с помощью volley, он успешно попал в сервис, я проверил конец сервиса, он получил данные и отправил «Success» в ответ.Как получить ответ String от JSONObject в Volley

Проблема заключается в том, что сервис возвращает String в выводе, а волейбол за исключением JSON Data. Поэтому он выполняет метод onError, а не onResponse.

Просьба указать мне, как заставить его принимать строковый ответ, или это невозможно, если вы используете JSONObject в качестве запроса.

Request<JSONObject> jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, "http://192.168.0.101:8888/api/services/mytest", 
      jsonParent, new Response.Listener<JSONObject>() { 
     @Override 
     public void onResponse(JSONObject response) { 
      Log.d("Success", response.toString()); 
      deleteFile(); 
     } 
    }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      Log.d("Error", error.toString()); 
      deleteFile(); 
     } 

    RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext()); 
    requestQueue.add(jsonObjectRequest); 
+0

либо использовать строку запроса или отправить строку в jsonobject –

+0

Это зависит от того, какой сервер возвращается, если только String использует StringRequest, если вы получаете значение JSON простое использование JSONObject/ArrayRequest – W4R10CK

ответ

6

Вы можете использовать StringRequest вместо JSONRequest.

StringRequest stringRequest = new StringRequest(methodType, url, 
        new Response.Listener<String>() { 
         @Override 
         public void onResponse(String response) { 

         } 
        }, new Response.ErrorListener() { 
       @Override 
       public void onErrorResponse(VolleyError error) { 

       } 
      }){ 
       @Override 
       public Map<String, String> getHeaders() throws AuthFailureError { 
        return headers == null ? super.getHeaders() : headers; 
       } 

       @Override 
       public byte[] getBody() throws AuthFailureError { 
        return "Your JSON body".toString().getBytes(); 
       } 
      }; 

getheaders метод для добавления пользовательских заголовков, если вы хотите и getBody поставлять request body.

+0

, но мне нужно добавить объект JSON в Body request, и это возможно только через запрос JSONObject – Kirmani88

+1

Нет, вы можете сделать это с этим, позвольте мне уточнить ответ –

+0

Спасибо !!!!! :) – Kirmani88

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