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

Android Studio中如何从API返回的JSON获取正确的web_pages URL

解决Web Pages URL格式异常问题

问题根源

你当前用getString("web_pages")拿到的是整个JSON数组的字符串形式(比如["https://www.upes.ac.in/"]),而非可用的单个URL——因为API返回的web_pages是JSON数组类型,不是普通字符串类型。

修复后的代码

调整url的获取逻辑,从JSON数组中提取第一个元素:

public void onResponse(String response) {
    listaUniversidades = new ArrayList<>();
    JSONArray jsonArray = new JSONArray(response);

    String nombreUni, pais, url;

    for (int i = 0; i < jsonArray.length(); i++) {
        JSONObject uniObj = jsonArray.getJSONObject(i); // 提前获取单个大学对象,减少重复调用
        nombreUni = uniObj.getString("name");
        pais = uniObj.getString("country");
        
        // 处理web_pages数组
        JSONArray webPagesArray = uniObj.getJSONArray("web_pages");
        if (webPagesArray.length() > 0) {
            url = webPagesArray.getString(0); // 提取数组第一个元素作为可用URL
        } else {
            url = ""; // 兼容空数组场景,避免抛出异常
        }
      
        texto.setText(url);
        listaUniversidades.add(new Universidad(nombreUni, pais, url));
    }
}

补充说明

  • 增加了空数组判断,防止数组为空时触发JSONException
  • 将单个大学的JSONObject提前存入变量,优化代码可读性与执行效率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 00:55:14