java - 来自json android的多维数组

标签 java android arrays json multidimensional-array

我这里有这个 json:

[
        {
            "ID": "2",
            "Item Description": "Data removed for protection",
            "Link": "Data removed for protection",
            "Image": "Data removed for protection",
            "Valid From": "Data removed for protection",
            "Valid To": "Data removed for protection"
        },
        {
            "ID": "3",
            "Item Description": "Data removed for protection",
            "Link": "Data removed for protection",
            "Image": "Data removed for protection",
            "Valid From": "Data removed for protection",
            "Valid To": "Data removed for protection"
        },
{
            "ID": "4",
            "Item Description": "Data removed for protection",
            "Link": "Data removed for protection",
            "Image": "Data removed for protection",
            "Valid From": "Data removed for protection",
            "Valid To": "Data removed for protection"
        }
    ]

因此,我将其下载到名为 jArrayJSONObject 中。然后我将其转换为 JSONArray ,如下所示:

JSONArray json_array = new JSONArray(jArray);

但是,每当我尝试像这样访问它时:json_array[0][0],IDE 就会抛出错误并显示:需要数组类型;发现:'org.json.JSONArray'

现在,请不要误会我的意思,但是 JSONArray 不应该以相同的方式访问多维方面吗?

最佳答案

JSONArray 和普通的 java 数组不一样。JSONArray 是一个不同的 java 对象。 @Kon 的回答提供了 JSONArray 的基本思想。

如果您想从 JSONArray 访问数据,您可以循环遍历它以获取每个 JSONObject,然后从那里检索数据,例如

JSONArray json_array = new JSONArray(jArray);

    for (int i = 0; i < json_array.length() ; i++) {
              try{
                    JSONObject object1 = jsonArray.getJSONObject(i);
                    int id = object1.getInt("ID");
                    String itemDescription = object1.getString("Item Description");     
                    String link = object1.getString("Link");
                    .....//and so on        
                 }
              catch(Exception e){
                    e.printStackTrace();
                    }
                 }

关于java - 来自json android的多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25813164/

相关文章:

java - 在 toString 类中使用 for 循环返回多个数组

java - Java "new Type[]{...}"数组文字初始化是什么类型的语法?

java JNA接口(interface)自动生成器

java - 自定义SeekBar : set min value

java - 检索放入 HashMap 中的数组

Android - Canvas 和缓冲图像 - 自定义 View 表现疯狂

android - 从 Foursquare API 获取位置

android - 为 TextInputLayout 创建自定义类

java - 当元素没有名称时从 JSONArray 获取元素

arrays - lapply 适用于数组还是单个元素?