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

如何遍历JSON数组提取电影标题并批量输出至日志?

遍历JSON数组提取所有电影标题的解决方案

嘿,我明白你的问题了——现在你的代码只能拿到第一个电影标题,要一次性输出所有结果的话,只需要给JSONArray加个循环遍历就好啦!不用创建一堆String变量,简单几步就能搞定。

问题分析

你现在的代码里,只通过getJSONObject(0)获取了数组的第一个元素,所以只能输出"Reservoir Dogs"。要拿到所有标题,我们需要遍历Results数组的每一个元素,逐个提取Name字段。

修改后的完整代码

@Override
public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
    try {
        // 先获取到Results对应的JSON数组,只需要获取一次就够了
        JSONArray resultsArray = response.getJSONObject("Similar").getJSONArray("Results");
        
        // 遍历数组的每一个元素
        for (int i = 0; i < resultsArray.length(); i++) {
            // 取出当前索引的JSONObject,再获取Name字段
            String movieTitle = resultsArray.getJSONObject(i).getString("Name");
            // 输出到日志
            Log.d("recommendMe", movieTitle);
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

关键优化点

  • 避免重复解析:原来的代码重复调用了response.getJSONObject("Similar").getJSONArray("Results"),现在我们把它存到resultsArray变量里,只解析一次,效率更高。
  • 循环遍历:用for循环从索引0到数组长度-1,逐个处理每个电影对象,提取标题并打印。
  • 简洁高效:不需要额外的String变量,每次循环直接处理当前元素即可。

这样运行后,日志里就会依次输出"Reservoir Dogs"、"Kill Bill"、"Jackie Brown"啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:54:12