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

Android应用API返回{boards: null}时如何显示Toast提示?

解决API返回{boards: null}时显示错误提示的问题

嘿,我来帮你搞定这个问题!你之前踩的坑很典型——把Java里的null对象和字符串"null"搞混啦!你日志里显示的{boards: null}是JSON的空值,对应到Java里是boards这个对象本身为null,而你用name.equals("null")是在和字符串字面量做比较,这肯定匹配不上对吧?

下面给你两种常见场景的解决方案,直接套到你的代码里就行:

场景1:用实体类解析API响应(比如Gson/Retrofit)

假设你已经把API返回的JSON解析成了实体类,先定义好你的响应实体:

// 定义API返回的响应实体类
public class SearchResponse {
    private List<Board> boards; // 这里根据API实际结构来,可能是单个对象或集合

    // 生成getter方法
    public List<Board> getBoards() {
        return boards;
    }
}

然后在你的apitestsearch Activity里处理响应:

public class apitestsearch extends AppCompatActivity {
    EditText boardName;
    // ... 其他变量、初始化代码

    // 处理API响应的方法
    private void processApiResponse(String apiJson) {
        Gson gson = new Gson();
        SearchResponse response = gson.fromJson(apiJson, SearchResponse.class);

        // 正确判断boards是否为null
        if (response.getBoards() == null) {
            // 显示Toast提示用户
            Toast.makeText(this, "暂无搜索结果,请尝试其他关键词~", Toast.LENGTH_SHORT).show();
        } else {
            // 有结果,正常处理UI展示逻辑
            // ... 比如把数据加载到RecyclerView里
        }
    }
}

场景2:直接操作JSON字符串

如果没用到实体类,直接解析JSON对象的话,要用JSON自带的isNull()方法判断:

private void processApiResponse(String apiJson) {
    try {
        JSONObject jsonObject = new JSONObject(apiJson);
        // 检查boards字段是否为JSON空值
        if (jsonObject.isNull("boards")) {
            Toast.makeText(this, "没有找到匹配的结果哦", Toast.LENGTH_SHORT).show();
        } else {
            // 处理有结果的情况
            // ...
        }
    } catch (JSONException e) {
        e.printStackTrace();
        // 解析出错时也可以给用户提示
        Toast.makeText(this, "搜索失败,请稍后重试", Toast.LENGTH_SHORT).show();
    }
}

额外提醒:处理空集合的情况

如果API有时候会返回{"boards": []}(空集合),这种情况boards不为null但没有数据,你可以把判断改成:

if (response.getBoards() == null || response.getBoards().isEmpty()) {
    Toast.makeText(this, "暂无搜索结果", Toast.LENGTH_SHORT).show();
}

这样就能覆盖所有无结果的情况啦!

内容的提问来源于stack exchange,提问作者Aaron Strickland

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:19:18