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 onErrorResponse(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响应得到它

用户名
public class RetreiveData {

    public static final String TAG = RetreiveData.class.getSimpleName();

    public static void POST(String localhost, final HashMap<String, String> params, final Listeners.ServerResponseListener listener) {
        StringRequest post = new StringRequest(Request.Method.POST, localhost, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                try {
                    if (listener != null)
                        listener.onResponse(response.toString());
                    else
                        Log.e(TAG, "Error: SetServerResponse interface not set");
                } catch (Exception e) {
                    e.printStackTrace();
                    Log.d("Error: ", e.getMessage());
                }
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Log.d("Error: ", error.toString());
            }
        }) {
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String, String> map = params;
                return map;
            }

            @Override
            public RetryPolicy getRetryPolicy() {
                setRetryPolicy(new DefaultRetryPolicy(
                        5000, DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
                        DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
                return super.getRetryPolicy();
            }
        };
        ApplicationController.getInstance().addToRequestQueue(post);
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

(Android Volley)JSONObject无法转换为JSONArray

Volley for Android的JSONArray响应

使用Volley进行POST和JSONObject响应时出错

解析Android Volley JSONArray响应

HTTP POST请求通过Volley发送JsonObject

Android Volley JSON响应

Android Volley Post请求在正文中带有json对象,并在String中获取响应

Android Volley POST - 正文中的 JSON 编码

Recyclerview android with volley JsonArrayRequest with post 参数

Android Volley - 无法使用 POST 执行 JSON 请求,得到空响应

使用Volley使用JSONArray发送POST请求

Android Volley POST请求:在服务器端获取GET请求方法(php)

如何使用post方法传递参数并从url获取响应并使用gson和volley在android中显示它?

Android Volley无法获取数据作为响应

如何获得Volley POST响应正文?

使用 Volley 解析获取 JsonObject

Android Volley onResponse获取数据

如何从Volley中的JSONObject获取字符串响应

捕获在Servlet内部使用Android Volley发送的jsonobject请求

Android:如何使用Volley从方法返回异步JSONObject?

如何在Volley,Android中使用getParams返回JsonObject?

如果他们在Android中没有jsonobject,如何从Jsonarray获取Jsonarray

通过发送一些数据来获取 Jsonarray 作为 android volley 的响应

正文中的Android Volley POST字符串

Android Volley 有时会导致双重 POST

Android Volley缓存具有不同的POST请求

Android Kotlin Volley Post String具有多个变量

php 文件中 android volley POST 请求的安全性

android volley请求中的get和post方法