2 nana4ever nana4ever 于 2012.11.01 13:48 提问

Android中关于读取JSON数组的问题

我在读取一个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语法文件的案例如下:

<code>

{
    "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
}

</code>

语法前面都有一个花括号。当我执行这些代码块时,系统会报错说:

A JSONArray text must start with '[' at character 1 of....

有谁遇见过这样的问题吗?能提供案例的代码块更好,不胜感激~~

1个回答

huweilong1030
huweilong1030   2012.11.01 14:35
已采纳
<string name="json_array">
    {"calendar": 
        {"calendarlist": 
            [ 
            {"calendar_id":"1705","title":"(\u4eb2\u5b50)ddssd","category_name":"\u9ed8\u8ba4\u5206\u7c7b","showtime":"1288927800","endshowtime":"1288931400","allDay":false}, 
            {"calendar_id":"1706","title":"(\u65c5\u884c)","category_name":"\u9ed8\u8ba4\u5206\u7c7b","showtime":"1288933200","endshowtime":"1288936800","allDay":false} 
            ] 
        } 
    }  </string>

解析代码:

public void parseJsonArray(String string){
    try {
        JSONObject jsonObject = new JSONObject(string).getJSONObject("calendar");
        JSONArray jsonArray = jsonObject.getJSONArray("calendarlist");
        StringBuffer sb = new StringBuffer();
        for(int i = 0;i < jsonArray.length();i ++){
            JSONObject json = (JSONObject) jsonArray.opt(i);
            String calendar_id = json.getString("calendar_id");
            String title = json.getString("title");
            String category_name = json.getString("category_name");
            String showtime = json.getString("showtime");
            String endshowtime = json.getString("endshowtime");
            String allDay = json.getString("allDay");
            sb.append("calendar_id: " + calendar_id + "\n\n" + "title: " + title + "\n\n" + 
                    "category_name: " + category_name + "\n\n" + "showtime: " + showtime + "\n\n" + 
                    "endshowtime: " + endshowtime + "\n\n" + "allDay: " + allDay + "\n\n" + 
                    "-------------------------------------\n\n");
        }
        text.setText(sb.toString());
    } catch (JSONException e) {
        e.printStackTrace();
    }
}
loFataMer
loFataMer 如果回答解决了您的问题,请采纳为答案吧。(*^__^*)
5 年多之前 回复
nana4ever
nana4ever 谢谢你的回答!
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
javascript读取json数组生成滚动分页
javascript读取json数组生成滚动分页 javascript读取json数组生成滚动分页 javascript读取json数组生成滚动分页
android操作json
android操作json 有三个简单实例 1.读取json 2.读取json数组 3.添加修改json
android 读取JSON数据(遍历JSONObject和JSONArray)
[java] view plaincopy private String getJson() {           //jsonString中含有比如unicode编码字符\u67ef的话,getString时自动会转化为相应语言字符。           //从服务器获取的数据片段一般为以下格式           /*{"showid":"38f5ef6a
js操作json对象和数组读取内容
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。       本文主要是对JS操作JSON的要领做下总结。       在JSON中,
android开发之 Gson 解析json数组
为了纪念两天解决的一个问题。 刚刚接触到android的volley 框架,使用jsonarrayrequest的时候,得到jsonarray 问高手说可以用Gson 来解析于是开始了两天的钻研之路。 首先我的数据是这样的 然后,你需要自己写一个类,对应后台数据的一个Json对象,即{}里面的内容。 这个类(即bean)要求不能是内部类,不能是匿名类。里面的成员必须
解析json数组的方式
将字符串解码为网址模式 URLEncoder.encode(字符串,"utf-8") //解析...android中json格式的数据只有两种,,一种是{}对应的,解析出来是对象;;;一种是[]对应的,这种是数组或者集合                 //1.集合或者数据在json原生解析,使用的JSONArray这个类...{}对应的在原声解析里面是JSONObject
【B/S】AJAX读取Json数组里面的数据
一、前言      前些日子做项目,自己发现自己不太会使用AJAX,然后就下苦工学习这方面的知识,重新拿起来。下面给大家分享一下,如何使用ajax读取Json中的数据。二、基础知识什么是json? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言 * JSON 具有自我描述性,更易理
Android解析json数组对象
import org.json.JSONArray;   import org.json.JSONObject;      //jsonData的数据格式:[{ "id": "27JpL~asdsadasdsad", "version": "abcsad" },{ "id": "27JpL~asdasdsadsa", "version": "bbc" },{ "id": "27JpL~erw
android解析JSON数组
如: jsonData的数据格式:[{ "name": "xiaowang", "password": "123" },{ "name": "xiaozhang", "password": "456" },{ "name": "xiaoli", "password": "789" }]   import org.json.JSONArray; import org.json.JSONObj
关于解析json数组中的json数组
大多数的人应该都知道怎么解析json数组,可今天却遇到一个json数组里面嵌套json数组的情况,废话不多说,上代码 JSONObject root = new JSONObject(jsondata); JSONArray array1=root.getJSONArray("weather");//先将jsondata里面的weather数组提取出来 String dsa=array1.t