cómo enviar el objeto json al servidor usando volley en Android

Deseo enviar el JSONObject al servidor utilizando el método POST. He usado la biblioteca de volley para pasar los parámetros de cadena, funciona bien, pero si trato de usar el objeto json, mostrar un error al llamar al objeto json es mi código

private void makeJsonObjReq() { showProgressDialog(); JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.POST, Const.URL_LOGIN, null, new Response.Listener() { @Override public void onResponse(JSONObject response) { Log.d(TAG, response.toString()); msgResponse.setText(response.toString()); hideProgressDialog(); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { VolleyLog.d(TAG, "Error: " + error.getMessage()); hideProgressDialog(); } }) { /** * Passing some request headers * */ @Override public Map getHeaders() throws AuthFailureError { HashMap headers = new HashMap(); headers.put("Content-Type", "application/json; charset=utf-8"); return headers; } @Override protected Map getParams() { Map params = new HashMap(); params.put("un", "xyz@gmail.com"); params.put("p", "somepasswordhere"); return params; } }; // Adding request to request queue AppController.getInstance().addToRequestQueue(jsonObjReq,tag_json_obj); // Cancelling request // ApplicationController.getInstance().getRequestQueue().cancelAll(tag_json_obj); } 

Y mi servidor de formulario de error es: [10031] BasicNetwork.performRequest: Unexpected response code 401

Cómo resolver este problema. Deseo agregar application/json;charset=utf-8 en el encabezado, por favor revisa mi código, ya sea correcto o no. Por favor, dame una sugerencia para vencer este problema

El tercer parámetro en JsonObjectRequest es para pasar parámetros de publicación en forma jsonobject. Y para el encabezado, debe enviar dos valores separados, uno para el tipo de contenido, para el conjunto de caracteres.

  RequestQueue queue = Volley.newRequestQueue(this); private void makeJsonObjReq() { showProgressDialog(); Map postParam= new HashMap(); postParam.put("un", "xyz@gmail.com"); postParam.put("p", "somepasswordhere"); JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.POST, Const.URL_LOGIN, new JSONObject(postParam), new Response.Listener() { @Override public void onResponse(JSONObject response) { Log.d(TAG, response.toString()); msgResponse.setText(response.toString()); hideProgressDialog(); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { VolleyLog.d(TAG, "Error: " + error.getMessage()); hideProgressDialog(); } }) { /** * Passing some request headers * */ @Override public Map getHeaders() throws AuthFailureError { HashMap headers = new HashMap(); headers.put("Content-Type", "application/json; charset=utf-8"); return headers; } }; jsonObjReq.setTag(TAG); // Adding request to request queue queue.add(jsonObjReq); // Cancelling request /* if (queue!= null) { queue.cancelAll(TAG); } */ }