I am using volley for json parsing. I want to send some data using POST to server side. I am trying to send .Now can any one tell me that how can i send filter array to serv
Following three steps should make it work for old Volley libraries lacking this suport.
Prepare payload and post:
JSONArray payloadItems = new JSONArray();
JSONObject payloadItem1=new JSONObject();
//set properties on item1
payloadItem1.put('prop1',"val11");
payloadItems.put(payloadItem1);
JSONObject payloadItem2=new JSONObject();
//set properties on item1
payloadItem2.put('prop1',"val12");
payloadItems.put(payloadItem1);
JsonArrayRequest request;
request = new JsonArrayRequest(Request.Method.POST,url,payloadItems, new Response.Listener() {
@SuppressWarnings("unchecked")
@Override
public void onResponse(JSONArray response) {
//your logic to handle response
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
//your logic to handle error
}
}) {
public Map getHeaders() throws AuthFailureError {
Map params = new HashMap();
/* This is very important to pass along */
params.put("Content-Type","application/json");
//other headers if any
return params;
}
};
request.setRetryPolicy(new DefaultRetryPolicy(10000, 2, 2));
VolleyHelper.init(this);
VolleyHelper.getRequestQueue().add(request);
[If Needed] Add this constructor in Class- JsonArrayRequest in Volley package if not already there
public JsonArrayRequest(int method, String url, JSONArray jsonArray, Listener listener, ErrorListener errorListener) {
super(method, url, (jsonArray == null) ? null : jsonArray.toString(),
listener, errorListener);
}
[If Needed] Override this method if not yet implemented to support JSONArray response from server.
@Override
protected Response parseNetworkResponse(NetworkResponse response) {
String responseString;
JSONArray array = new JSONArray();
if (response != null) {
try {
responseString = new String(response.data, HttpHeaderParser.parseCharset(response.headers));
JSONObject obj = new JSONObject(responseString);
(array).put(obj);
} catch (Exception ex) {
}
}
//return array;
return Response.success(array, HttpHeaderParser.parseCacheHeaders(response));
}