使用Volley库获取JSON响应后无法在控制台打印问题求助
解决Volley获取响应后控制台无法打印的问题
我来帮你搞定这个问题!你提到调试时能看到响应内容,但控制台就是打不出来,这大概率是Android下System.out.print的输出限制或者日志配置的问题,试试下面这几个方案:
方案1:改用Android官方Log工具打印
Android里System.out的输出经常会被系统重定向或者过滤,不如用Android SDK提供的Log类更可靠。把你代码里的打印语句替换成:
Log.d("DataFetch", "*******\n" + response);
之后打开Android Studio的Logcat面板,搜索标签DataFetch就能轻松找到这条日志了,比System.out稳定得多。
方案2:检查Logcat的过滤配置
有时候不是没打印,是Logcat的过滤器把日志挡住了:
- 确保你选中了当前连接的设备和你的应用进程
- 把日志级别调整为
Verbose或者Debug(别选成Error或者Warn,不然看不到Debug级别的日志) - 清空不必要的过滤器规则,避免误过滤
方案3:给打印加非空判断(可选)
虽然你说调试能看到响应,但保险起见可以加个非空判断,避免空指针或者空内容导致的无输出:
try { JSONObject jsonObject = new JSONObject(response); if (response != null && !response.trim().isEmpty()) { Log.d("DataFetch", "*******\n" + response); } else { Log.w("DataFetch", "Response is empty!"); } } catch (Exception e) { Log.e("DataFetch", "Parse JSON error", e); }
修改后的完整代码示例:
public class DataFetch { public void getSellers(final int pageNumber, final Context context) { final SharedPreferences prefs = context.getSharedPreferences(PREFS_NAME, MODE_PRIVATE); String url = BASE_URL + GET_SELLERS_LIST + "?page=" + pageNumber; RequestQueue queue = Volley.newRequestQueue(context); // Request a string response from the provided URL. StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() { @Override public void onResponse(String response) { try { JSONObject jsonObject = new JSONObject(response); Log.d("DataFetch", "*******\n" + response); } catch (Exception e) { Log.e("DataFetch", "Failed to parse response", e); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { //Display Error Toast Toast.makeText(context, error.toString(), Toast.LENGTH_LONG).show(); Log.e("DataFetch", "Volley error", error); } }) { public Map<String, String> getHeaders() { Map<String, String> params = new HashMap<>(); params.put(AUTHORIZATION, "Token " + prefs.getString(TOKEN, "")); return params; } }; // Add the request to the RequestQueue. queue.add(stringRequest); } }
内容的提问来源于stack exchange,提问作者iamvinitk
相关产品推荐
相关产品推荐

