使用 Volley 库的 StringRequest 属性 将多个 JSON 对象请求传递给 API
Pass the multiple JSON object request to API using StringRequest property of Volley library
我需要将单个请求中的多个 JSON 对象字段传递给 Volley library.I 的 StringRequest 属性 提到下面的请求正文以便更好地理解。
{
"DeviceInfo": {
"Os": "Android",
"Access": "true"
},
"FirstName": "test",
"LastName": "test",
"USerName": "test"
}
这必须传递给 StringRequest 方法并且响应必须是fetched.Please帮我解决这个问题,谢谢!
有一种方法可以将 jsonObject 转换为字符串。
String data = json.toString();
并将其放入 StringRequest
StringRequest stringRequest = new StringRequest(Request.Method.GET, data,
new Response.Listener<String>(), new Response.ErrorListener());
您需要覆盖 StringRequest
的 getParams
才能将 json 个对象发送到服务器。
StringRequest request = new StringRequest(Request.Method.POST,
URL,
new Response.Listener<String>() {
@Override
public void onResponse(String res) {
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
}
}){
@Override
protected Map<String, String> getParams() throws com.android.volley.AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put("FirstName", "test");
return params;
}
};
Volley.newRequestQueue(this).add(request);
如果您需要嵌套 json 对象,请参阅此 post sending volley request with nested hashmap parameters
最后我找到了答案,我只是将 header 中的内容类型格式更改为 x-www-form-urlencoded 格式而不是 json 并且成功获取了响应,感谢 post 他们的解决方案。
我需要将单个请求中的多个 JSON 对象字段传递给 Volley library.I 的 StringRequest 属性 提到下面的请求正文以便更好地理解。
{
"DeviceInfo": {
"Os": "Android",
"Access": "true"
},
"FirstName": "test",
"LastName": "test",
"USerName": "test"
}
这必须传递给 StringRequest 方法并且响应必须是fetched.Please帮我解决这个问题,谢谢!
有一种方法可以将 jsonObject 转换为字符串。
String data = json.toString();
并将其放入 StringRequest
StringRequest stringRequest = new StringRequest(Request.Method.GET, data,
new Response.Listener<String>(), new Response.ErrorListener());
您需要覆盖 StringRequest
的 getParams
才能将 json 个对象发送到服务器。
StringRequest request = new StringRequest(Request.Method.POST,
URL,
new Response.Listener<String>() {
@Override
public void onResponse(String res) {
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
}
}){
@Override
protected Map<String, String> getParams() throws com.android.volley.AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put("FirstName", "test");
return params;
}
};
Volley.newRequestQueue(this).add(request);
如果您需要嵌套 json 对象,请参阅此 post sending volley request with nested hashmap parameters
最后我找到了答案,我只是将 header 中的内容类型格式更改为 x-www-form-urlencoded 格式而不是 json 并且成功获取了响应,感谢 post 他们的解决方案。