我有以下代码部分,它是一个 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
但是,如果我发出字符串请求,我怎样才能获得响应的“事件”和“参数”的值?