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

Android Java中提取JSON多组robotAnswer数组存入嵌套ArrayList的实现

错误原因

  1. 集合结构定义不符合需求:你需要的是两层嵌套列表,外层存储每个robotAnswer数组,内层存储单组robotAnswer的所有字符串,仅需ArrayList<List<String>>类型即可,你原有代码定义的三层嵌套集合ArrayList<ArrayList<List<String>>>属于冗余错误定义。
  2. 元素组装逻辑错误:原有代码遍历robotAnswer时为每个单独字符串创建了子列表,导致每个字符串独立成为子元素,不符合「同一组robotAnswer的所有字符串存入同一个子列表」的要求。
  3. 重复添加逻辑错误:你在初始化时就提前将空的robotText加入外层集合,还在每次添加单个字符串后重复把robotText加入外层集合,导致最终结果结构混乱、冗余。

修改后的代码

变量定义修改

// 外层总集合,每个元素对应一组robotAnswer的内容
private final ArrayList<List<String>> robotAnswerTotal = new ArrayList<>();

遍历逻辑修改

for (int j = 0; j < arrayBoot.length(); j++) {
    JSONObject data = arrayBoot.getJSONObject(j);
    // 按需保留你需要的其他字段解析逻辑
    JSONArray robotArray = data.getJSONArray("robotAnswer");
    // 为当前robotAnswer新建独立子列表
    List<String> currentAnswerList = new ArrayList<>();
    int arrSize = robotArray.length();
    for (int i = 0; i < arrSize; i++) {
        currentAnswerList.add(robotArray.getString(i));
    }
    // 整组解析完成后再加入外层总集合
    robotAnswerTotal.add(currentAnswerList);
}

最终robotAnswerTotal就是你需要的预期嵌套列表结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 02:33:03