You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:49:27