2017-01-26 13 views
1

Я пытаюсь сделать запрос залп POST с массивом в качестве моего параметра, например, я хочу, чтобы POSTмассив как запрос Volley POST Params

{"types":[1,2,3]} 

, что у меня сейчас является строкой

{"types":"[1,2,3]"} 

Это, как я сделал свой запрос залпа:

JSONArray jsonArray = new JSONArray(); 
JSONObject jsonObject = new JSONObject(); 

    try{ 
     jsonObject.put("types", list); 
     jsonArray.put(jsonObject); 
     System.out.println(jsonObject); 
    }catch(Exception e){ 

    } 

    JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, url, jsonObject, 
      new Response.Listener<JSONObject>(){ 
       @Override 
       public void onResponse(JSONObject response) { 
        Log.e("Response", response.toString()); 
       } 
      }, 
      new Response.ErrorListener(){ 
       @Override 
       public void onErrorResponse(VolleyError error) { 
        Log.e("Error.Response", error.toString()); 
        String json = null; 
        NetworkResponse response = error.networkResponse; 
        if(response != null && response.data != null){ 
         switch(response.statusCode){ 
          case 400: 

           json = new String(response.data); 
           System.out.println(json); 
           break; 
         } 
        } 
       } 
      }) 
    { 
     @Override 
     public Map<String, String> getHeaders() throws AuthFailureError { 
      HashMap<String, String> headers = new HashMap<>(); 
      headers.put("Authorization", Token); 
      return headers; 
     } 
    }; 

    RequestQueue requestQueue = Volley.newRequestQueue(this); 
    requestQueue.add(jsonObjectRequest); 

Список является список массив объявлен как:

List<Integer> list = new ArrayList<Integer>(); 

Я предполагаю, что jsonObject.put ("types", list) превратит мой массив в список, как мне решить эту проблему?

+0

Вам нужно создать 'JSONArray' из списка целых чисел и добавить, что' jsonObject' – akash93

ответ

1

Вместо List, попробуйте JSONArray.

JSONArray types=new JSONArray(); 
types.put(1); 
types.put(2); 
types.put(3); 
jsonObject.put("types", types); 
jsonArray.put(jsonObject); 

Это должно исправить ваш вопрос

+0

Извините за поздний ответ, что именно проблема спасибо! – JerryKo

+0

@JerryKo Мне нужна помощь –

+0

@ AdityaVyas-Lakhan Как я могу вам помочь? – JerryKo