0

我有以下代码部分,它是一个 jsonObjectRequest 但结果它总是以 onErrorReponseMethod 而不是 onResponse 方法结束。

        String url = API.getDevices()+ id + "/events";
        JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                try {
                    processEvent(response, name, id);
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Log.d("mytag", "Error de response");
                error.printStackTrace();
            }
        });

这就是大摇大摆的样子

在此处输入图像描述

我可能做错了什么?

我认为我可能需要执行字符串请求,因为我在 logcat 中收到以下错误:

 com.android.volley.ParseError: org.json.JSONException: Value id of type java.lang.String cannot be converted to JSONObject
 06-18 02:54:45.662 3222-3222/? W/System.err:     at com.android.volley.toolbox.JsonObjectRequest.parseNetworkResponse(JsonObjectRequest.java:73)
    at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:123)
Caused by: org.json.JSONException: Value id of type java.lang.String cannot be converted to JSONObject

但是,如果我发出字符串请求,我怎样才能获得响应的“事件”和“参数”的值?

4

1 回答 1

0

JSON 无效。使用https://jsoneditoronline.org/生成有效的 JSON。

于 2018-06-18T06:26:11.303 回答