Skip to content Skip to sidebar Skip to footer

Pass A Jsonobject In Volley As Post Parameter

I have an API endpoint which needs parameters to be sent as JsonObject in a POST request. The response which I will get is not Json, but rather a small CSV string. The Code is stri

Solution 1:

You need to use JsonObjectRequest class. Pass your params as json object in the 3rd parameter of the JsonObjectRequest class. Below is a small snippet:

Map<String, String> jsonParams2 = newHashMap<String, String>();
            jsonParams2.put("vcFName", firstname.getText().toString());
            jsonParams2.put("vcLname", lastname.getText().toString());
            jsonParams2.put("vcMobileNo", phone_no.getText().toString());
            jsonParams2.put("vcGender", gender_short);
            jsonParams2.put("vcEmailAddress", email.getText().toString());
            jsonParams2.put("vcPassword", password.getText().toString());
            jsonParams2.put("vcFBID", "");
            jsonParams2.put("intLoginUserID", "");
            jsonParams2.put("SignUpFrom", "Web");
            jsonParams2.put("intloginid", "");
            jsonParams2.put("AlreadyRegister", "");

JsonObjectRequest jsonObjReq = newJsonObjectRequest(Method.POST,
        YourUrl, newJsonObject(jsonParams2),
        newResponse.Listener<JSONObject>() {

            @OverridepublicvoidonResponse(JSONObject response) {

            }
        }, newResponse.ErrorListener() {

            @OverridepublicvoidonErrorResponse(VolleyError error) {

            }
        }) {
    @OverridepublicMap<String, String> getHeaders() throws AuthFailureError {
        HashMap<String, String> headers = newHashMap<String, String>();
        headers.put("Content-Type", "application/json");
        headers.put( "charset", "utf-8");
        return headers;
    }
};

Solution 2:

Step 1: Make model class parsable/Serializable. Step 2: Override toString() in model class. Step 3: Map<String,JSONObject> params = new HashMap<>(); JSONObject object = null; try{ object = new JSONObject(classObject.toString()); }catch (Exception e){ } params.put("key", object); JSONObject objectParams = new JSONObject(params); Step 4: Send objectParams with volley JSONObject request. Done!!!

Post a Comment for "Pass A Jsonobject In Volley As Post Parameter"