有没有办法知道排球要解析什么?
Is there a way to know what is volley going to parse?
我使用这段代码向服务器发出请求,它通常工作正常但有时会抛出一些错误,因为它正在开发中,但是如果抛出错误,volley 会尝试将其解析为 JsonObject,但不可避免地会失败。
final JsonObjectRequest jsonObjectRequest = new JsonObjectRequest
(Request.Method.POST, baseUrl, postparams, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.w("Response", response.toString());
callBackActivity.JsonCallback(response, "grupos");
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
callBackActivity.ErrorCallback(error, "grupos");
}
});
那么在将服务器的原始响应解析为 JsonObject 之前,有什么方法可以知道它是什么?
而不是 JSONObjecRequest
尝试 StringRequest
它将以字符串形式给出响应。记录此响应并查看导致错误的原因,然后您可以将其还原为 JSONObjectRequest
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.v(response)
try {
JSONObject object = new JSONObject(response);
}
} catch (Exception e) {
Log.v("exception is " + e.toString());
} }
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
//error log
}
});
我使用这段代码向服务器发出请求,它通常工作正常但有时会抛出一些错误,因为它正在开发中,但是如果抛出错误,volley 会尝试将其解析为 JsonObject,但不可避免地会失败。
final JsonObjectRequest jsonObjectRequest = new JsonObjectRequest
(Request.Method.POST, baseUrl, postparams, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.w("Response", response.toString());
callBackActivity.JsonCallback(response, "grupos");
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
callBackActivity.ErrorCallback(error, "grupos");
}
});
那么在将服务器的原始响应解析为 JsonObject 之前,有什么方法可以知道它是什么?
而不是 JSONObjecRequest
尝试 StringRequest
它将以字符串形式给出响应。记录此响应并查看导致错误的原因,然后您可以将其还原为 JSONObjectRequest
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.v(response)
try {
JSONObject object = new JSONObject(response);
}
} catch (Exception e) {
Log.v("exception is " + e.toString());
} }
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
//error log
}
});