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

Android Studio中解析无键二维JSON数组并适配ListView获取字符串

解决Android Studio中解析无键二维JSON数组并展示到ListView的问题

嗨,我看你在解析无键二维JSON数组并展示到ListView时遇到了问题,咱们来一步步修正你的代码并实现需求。

首先先指出你原代码的核心问题:

  • 你的JSON根结构是数组,不是对象,所以不能用new JSONObject(result)来初始化,应该直接用JSONArray解析整个返回结果。
  • 内层的每个元素同样是数组(而非带键的JSONObject),所以你不能通过键名来取值,而是要通过索引位置来获取对应的数据。

接下来是完整的实现步骤和代码:

1. 正确解析无键二维JSON数组

首先,我们直接把返回的result字符串解析为外层JSONArray,然后遍历每个内层数组,通过索引提取需要的字段(比如索引0是姓名,1是编号,2是身份,3是时间你不需要展示,可以忽略):

// 假设result是你获取到的JSON字符串
try {
    // 直接解析整个JSON为外层数组
    JSONArray outerArray = new JSONArray(result);
    // 用来存储要展示的每一行数据
    List<String> displayList = new ArrayList<>();

    for (int i = 0; i < outerArray.length(); i++) {
        // 取出内层的数组(每个元素都是数组,不是JSONObject)
        JSONArray innerArray = outerArray.getJSONArray(i);
        // 通过索引获取对应的值:索引0=姓名,1=编号,2=身份
        String name = innerArray.getString(0);
        String id = innerArray.getString(1);
        String role = innerArray.getString(2);
        // 组合成你想要展示的格式
        String displayText = name + " " + id + " " + role;
        displayList.add(displayText);
    }

    // 接下来把displayList的数据设置到ListView中
    setupListView(displayList);

} catch (JSONException e) {
    e.printStackTrace();
    // 处理解析异常,比如Toast提示用户
}

2. 将数据绑定到ListView

编写setupListView方法,用ArrayAdapter来快速实现数据展示(如果需要更复杂的布局可以用自定义Adapter,这里先实现基础需求):

private void setupListView(List<String> dataList) {
    ListView listView = findViewById(R.id.your_listview_id); // 替换成你布局中的ListView ID
    ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
            android.R.layout.simple_list_item_1, // 系统自带的简单布局
            dataList);
    listView.setAdapter(adapter);
}

关键知识点说明

  • 无键JSON数组的解析核心是通过索引取值,因为没有键名可以依赖,所以你要清楚每个索引对应的字段含义(比如你提供的JSON中,每个内层数组的顺序是:姓名、编号、身份、时间)。
  • 一定要注意异常捕获JSONException,避免因为JSON格式错误或者索引越界导致崩溃。

这样处理后,你的ListView就能按照你期望的格式展示数据啦:

John Gorman 3344764667200003 Student
Andy William 3403032311690003 Student
Thomas Endry 3408932311690078 Student
Robet Calm 3403077711690890 Student

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:18:38