当前位置: 首页 > 面试题库 >

在Android中读取Json数组

姜晨
2023-03-14
问题内容

我正在尝试读取JSON数组。这是我的代码。

        JSONArray jArray = new JSONArray(jsonString);

        System.out.println("*****JARRAY*****"+jArray.length());
        for(int i=0;i<jArray.length();i++){


                JSONObject json_data = jArray.getJSONObject(i);
                Log.i("log_tag","_id"+json_data.getInt("account")+
                        ", mall_name"+json_data.getString("name")+
                        ", location"+json_data.getString("number")+
                        ", telephone"+json_data.getString("url")+
                        ",----"+json_data.getString("balance")+
                        ",----"+json_data.getString("credit")+
                        ",----"+json_data.getString("displayName")
                );

        }

我的示例JSON文件语法如下所示,

{
    "list": [
        {
            "account": 1,
            "name": "card",
            "number": "xxxxx xxxx xxxx 2002",
            "url": "http://www.google.com",
            "balance": 1.0,
            "credit": 1.0,
            "displayName": "hsbc bank" 
        },
        {
            "account": 2,
            "name": "card2",
            "number": "xxxxx xxxx xxxx 3003",
            "url": "http://www.google.com",
            "balance": 2.0,
            "credit": 2.0,
            "displayName": "nsb bank" 
        } 
    ],
    "count": 2
}

前面有一个大括号。当我尝试执行此代码块时,出现错误提示

JSONArray文本必须在....的字符1处以’[‘开头。

有没有人遇到过这样的问题?任何帮助将不胜感激。如果可以的话,请告诉我一个示例代码块。提前致谢。


问题答案:

JSON对象以a开头,以a {结尾,}而JSON数组以a开头,以a [结尾]

根据您的情况,将您的代码更改为一个JSONObject

JSONObject json = new JSONObject(jsonString);
JSONArray jArray = json.getJSONArray("list");

System.out.println("*****JARRAY*****" + jArray.length());

for(int i=0; i<jArray.length(); i++){
    JSONObject json_data = jArray.getJSONObject(i);

    Log.i("log_tag", "_id" + json_data.getInt("account") +
        ", mall_name" + json_data.getString("name") +
        ", location" + json_data.getString("number") +
        ", telephone" + json_data.getString("url") +
        ",----" + json_data.getString("balance") +
        ",----" + json_data.getString("credit") +
        ",----" + json_data.getString("displayName")
    );
}


 类似资料:
  • 问题内容: 我有以下json文件。我想知道我应该将json文件放在我的项目中的位置以及如何读取和存储它。 问题答案: 将该文件放入资产中 。 对于在Android Studio项目中创建的项目,您需要在主文件夹下创建资产文件夹。 将该文件读取为: 然后您可以简单地通过此函数读取此返回 有关JSON的更多详细信息,请参见 http://www.vogella.com/articles/Android

  • 问题内容: 上面的示例json数组,如何获取204、203和202?谢谢 我试过了: 问题答案: 上面的示例json数组,如何获取204、203和202? 不,当前的String 代替。您应该使用JSONObject获取Iterator 。keys()如果内部JSONObject键动态为:

  • 我试图使用下面的代码将一个示例json文件读取到SqlContext中,但失败了,随后出现了datasource错误。 Java语言lang.ClassNotFoundException:未能找到数据源:json。请在以下位置查找包裹http://spark-packages.org位于组织。阿帕奇。火花sql。处决数据源。ResolvedDataSource美元。org上的lookUpdateS

  • 问题内容: 在shell中,我有一个要求,我必须读取以下格式的JSON响应: 在这里,我只关心“ Body”属性值。我做了一些不成功的尝试,例如: 要么 但这还不够。谁能帮我这个? 问题答案: 在命令行上有用于解析json的代码: 访问此以获得jq:https://stedolan.github.io/jq/

  • 我这里有一个很长的json:https://textup.fr/601885q4我想读一个“支付令牌合同”中的数据,特别是那些带有“id”的数据:1我的问题是,我不知道如何称呼特定的词汇,因为它们都有相同的名称。这是否可能,我还不习惯操作如此复杂的对象,因为我是初学者。我会尝试像:[“订单][x][“id”:1][“基本价格”]这样的东西,x是一个for循环,循环遍历每个“订单”显示。但是我无法将

  • 我的android仿真器正在向PHP脚本发送请求,以访问MySQL数据。我通过给sql查询赋值来检查PHP脚本 get_details.php if($tag==…)块和if(isset($\u POST['pid'])块正在执行,但当我将其用于查询时,我无法从数据库中获取值 主要活动。JAVA JsonParser。JAVA 用户函数。JAVA 如果要在php中使用json_decode(),我