I am newbie to Json parsing. I am trying to read a json data using JsonArrayRequest
but I am little confused in sending parameters and use POST method.In case of JsonObjectRequest
i can send the method type,url,params but In JsonArrayRequest
how to send params like username and password and use POST method.please help me out.here is the code i have written.
final JsonArrayRequest jsonObjReq = new JsonArrayRequest(MySingleton.getInstance().getDOWNLOAD_SERVICES_URL(), new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
try {
if(response==null) {
pDialog.hide();
}
for (int i = 0; i < response.length(); i++) {
jresponse = response.getJSONObject(i);
}
//String service_response = response.getString("SvcTypeDsc");
Toast.makeText(getActivity().getApplicationContext(), "services" + jresponse, Toast.LENGTH_SHORT).show();
} catch (JSONException e) {
e.printStackTrace();
Log.d("soservices", "sos" + e.getMessage());
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d("Login request", "Error: " + error.getMessage());
Log.d("Volley Error:", "Volley Error:" + error.getMessage());
Toast.makeText(getActivity(), "Unable to connect to server, try again later", Toast.LENGTH_LONG).show();
pDialog.hide();
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put("uniquesessiontokenid","39676161-b890-4d10-8c96-7aa3d9724119");
params.put("loginname", userDet.getSAID());
params.put("password", "23295");
return super.getParams();
}
@Override
public int getMethod() {
try {
getParams();
} catch (AuthFailureError authFailureError) {
authFailureError.printStackTrace();
}
return super.getMethod();
}
};
AppController.getInstance().addToRequestQueue(jsonObjReq, tag_json_obj);
}
my json data is like:
{
"username":"rushi",
"firstname": "abc",
},
{
"username": "xyz",
"firstname": "vxa",
},
The params are not being sent. Please help me solving this. Thank you in advance.
In activity/fragment do use this
Answer get form here. https://stackoverflow.com/a/19945676/1641556
Refer these articles also.
here is an example to post the request to the server using volly
You can add the parameters to a HashMap and then pass that into the request you are creating;
EDITED:
If you are using
'com.android.volley:volley:1.0.0'
you should overridegetParams()
method like this:If you are using 'com.mcxiaoke.volley:library:1.0.19' you can simply put
JSONObject
:Here you go..
And on PHP side you can get these params like this
This solved my problem to pass params when JsonArrayRequest and POST method is used.