想了解JSON对象的VolleyPost方法的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于json对象常用方法的相关问题,此外,我们还将为您介绍关于AndroidKotlin-Volley
想了解JSON对象的Volley Post方法的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于json对象常用方法的相关问题,此外,我们还将为您介绍关于Android Kotlin - Volley Multipart 请求 VolleyFileUploadRequest JSONObject 响应、Android Volley POST JsonObject并获取JsonArray或JsonObject或其他响应、Android Volley Post Request – JsonArrayRequest的解决方法、Android Volley多维JSON请求post方法的新知识。
本文目录一览:- JSON对象的Volley Post方法(json对象常用方法)
- Android Kotlin - Volley Multipart 请求 VolleyFileUploadRequest JSONObject 响应
- Android Volley POST JsonObject并获取JsonArray或JsonObject或其他响应
- Android Volley Post Request – JsonArrayRequest的解决方法
- Android Volley多维JSON请求post方法
JSON对象的Volley Post方法(json对象常用方法)
data={ "request": { "type": "event_and_offer", "devicetype": "A" }, "requestinfo": { "value": "offer" }}
如何从排球plz帮助发布此请求
JsonObjectRequest jsonObjReq = new JsonObjectRequest( Request.Method.POST,url, null , new Response.Listener<JSONObject>() { @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<String, String> getHeaders() throws AuthFailureError { HashMap<String, String> headers = new HashMap<String, String>(); headers.put("Content-Type", "application/x-www-form-urlencoded"); return headers; }
js引用了我的jsson对象……我使我的jsson像这样.....
JSONObject jsonobject_one = new JSONObject(); try { jsonobject_one.put("type", "event_and_offer"); jsonobject_one.put("devicetype", "I"); JSONObject jsonobject_TWO = new JSONObject(); jsonobject_TWO.put("value", "event"); jsonobject = new JSONObject(); jsonobject.put("requestinfo", jsonobject_TWO); jsonobject.put("request", jsonobject_one); js = new JSONObject(); js.put("data", jsonobject.toString()); Log.e("created jsson", "" + js);
但是它没有响应值请怎么做
答案1
小编典典首先你的json数据:
JSONObject js = new JSONObject();try { JSONObject jsonobject_one = new JSONObject(); jsonobject_one.put("type", "event_and_offer"); jsonobject_one.put("devicetype", "I"); JSONObject jsonobject_TWO = new JSONObject(); jsonobject_TWO.put("value", "event"); JSONObject jsonobject = new JSONObject(); jsonobject.put("requestinfo", jsonobject_TWO); jsonobject.put("request", jsonobject_one); js.put("data", jsonobject.toString());}catch (JSONException e) { e.printStackTrace();}
然后您的json请求:
JsonObjectRequest jsonObjReq = new JsonObjectRequest( Request.Method.POST,url, js, new Response.Listener<JSONObject>() { @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<String, String> getHeaders() throws AuthFailureError { HashMap<String, String> headers = new HashMap<String, String>(); headers.put("Content-Type", "application/json; charset=utf-8"); return headers; }
注意 标题
如果您想在localhost中进行测试,请使用以下代码并设置您的url以连接您的localhost服务器和ip地址:下面的代码将您的所有请求都放在一个文本文件中,我尝试了一下,即可
<?phpfile_put_contents(''test.txt'', file_get_contents(''php://input''));?>
Android Kotlin - Volley Multipart 请求 VolleyFileUploadRequest JSONObject 响应
这是怎么做的:
val response = JSONObject(String(it.data))
Android Volley POST JsonObject并获取JsonArray或JsonObject或其他响应
在齐射中,我们具有从服务器检索数据的能力,例如jsonObject,jsonArray和String.在以下示例中,我们可以从服务器获取jsonObject或jsonArray响应,
public static void POST(HashMap<String, String> params, final Listeners.ServerResponseListener listener) {
JsonObjectRequest req1 = new JsonObjectRequest(ApplicationController.URL, new JSONObject(params),
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.e("Response:", response.toString());
if (listener != null)
listener.onResultJsonObject(response);
else
Log.e(TAG,"Error: SetServerResponse interface not set");
}
}, new Response.ErrorListener() {
@Override
public void one rrorResponse(VolleyError error) {
Log.e("Error: ", error.getMessage());
}
});
ApplicationController.getInstance().addToRequestQueue(req1);
}
我的问题是我想从此方法发送jsonObject并从服务器获取jsonArray或jsonObject,而我无法使用此方法简单地从服务器获取数组.例如,我必须对此jsonObject进行过滤服务器响应:
HashMap<String, String> params = new HashMap<String, String>();
params.put("token", "AbCdEfGh123456");
params.put("search_count", "10");
params.put("order_by", "id");
服务器返回jsonArray并且我无法通过Volley响应得到它
解决方法:
查看JsonArrayRequest的源代码.有一个构造函数,它接收JSONObject.你应该检查一下
Android Volley Post Request – JsonArrayRequest的解决方法
我知道使用JsonArrayRequest的POST请求不能与Volley一起开箱即用,但我看到这篇文章here讨论了添加一个构造函数来处理这个问题.他们的实施是这样的:
public JsonArrayRequest(int method, String url, JSONObject jsonRequest,
Listener<JSONArray> listener, ErrorListener errorListener) {
super(method, url, (jsonRequest == null) ? null : jsonRequest.toString(),
listener, errorListener);
}
我如何将其添加为构造函数?上述问题提到将其放入Volley工具库中.我将Volley导入为.jar,所以我不确定如何添加这样的构造函数,或者这是否是最好的方法.任何帮助深表感谢.
编辑
我已按照建议使用override和constructor创建了以下类.这是班级:
public class PostJsonArrayRequest extends JsonArrayRequest {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
HashMap<String, String> params = new HashMap<String, String>();
params.put("name", "value");
return params;
}
public PostJsonArrayRequest(int method, String url, JSONObject jsonRequest,
Listener<JSONArray> listener, ErrorListener errorListener) {
super(Method.POST, url, null, listener, errorListener);
}
}
在线上调用super我正在获取构造函数JsonArrayRequest(int,String,null,Response.Listener< JSONArray>,Response.ErrorListener)是未定义的
我该如何纠正?
解决方法:
创建一个类并扩展JsonArrayRequest然后覆盖
@Override
protected Map<String, String> getParams() throws AuthFailureError {
HashMap<String, String> params = new HashMap<String, String>();
params.put("name", "value");
return params;
}
并添加一个新的构造函数并在其中调用
super(Method.POST, url, null, listener, errorListener);
或者使用这个课程
public class PostJsonArrayRequest extends JsonRequest<JSONArray> {
/**
* Creates a new request.
* @param url URL to fetch the JSON from
* @param listener Listener to receive the JSON response
* @param errorListener Error listener, or null to ignore errors.
*/
public PostJsonArrayRequest(String url, Response.Listener<JSONArray> listener, Response.ErrorListener errorListener) {
super(Method.POST, url, null, listener, errorListener);
}
@Override
protected Map<String, String> getParams() throws AuthFailureError {
HashMap<String, String> params = new HashMap<String, String>();
params.put("name", "value");
return params;
}
@Override
protected Response<JSONArray> parseNetworkResponse(NetworkResponse response) {
try {
String jsonString =
new String(response.data, HttpHeaderParser.parseCharset(response.headers));
return Response.success(new JSONArray(jsonString),
HttpHeaderParser.parseCacheHeaders(response));
} catch (UnsupportedEncodingException e) {
return Response.error(new ParseError(e));
} catch (JSONException je) {
return Response.error(new ParseError(je));
}
}
}
Android Volley多维JSON请求post方法
如何解决Android Volley多维JSON请求post方法?
如何使用 volley post 方法发送多维数组。
{
"code": "001","Emp_id": "0000","Exp_Dt": "2021-05-27T00:00:00.000","users": [
{
"id": "1087","name": "Abhishek Saini","email": "info@ezacake.com","gender" : "male"
},{
"id": "1088","name": "Gourav","email": "gourav9188@gmail.com","gender" : "male"
}
]
}
这个格式我要调用API。请帮忙 注意 - 我想在我的 API 上使用数组请求,而不是响应
解决方法
嗨,你正试图在那里发送一个 json 对象 =>
创建父 json 对象
JSONObject reqJO = new JSONObject();
输入其他属性,例如
reqJo.put("code",0001);
创建一个用户json对象
JSONObject user = new JSONObject();
放置用户属性(如果更多用户循环创建新用户)例如
user.put("id",1087)
创建一个用户的json数组
JSONArray users = new JSONArray();
在用户数组中添加用户
users.put(user);
将用户数组放入父对象
reqJO.put("users",users);
然后你继续你的JsonObjectRequest
答案在这里
RequestQueue queue = Volley.newRequestQueue(this);
JsonObjectRequest jobReq = new JsonObjectRequest(Request.Method.POST,url,jObject,new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject jsonObject) {
}
},new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
}
});
queue.add(jobReq);
关于JSON对象的Volley Post方法和json对象常用方法的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于Android Kotlin - Volley Multipart 请求 VolleyFileUploadRequest JSONObject 响应、Android Volley POST JsonObject并获取JsonArray或JsonObject或其他响应、Android Volley Post Request – JsonArrayRequest的解决方法、Android Volley多维JSON请求post方法等相关内容,可以在本站寻找。
本文标签: