关于读取JSON数组的问题 -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

关于读取JSON数组的问题

我在读取一个JSON数组:
screenshot
JSON语法文件的案例如下:
screenshot
语法前面都有一个花括号。当我执行这些代码块时,系统会报错说:
A JSONArray text must start with '[' at character 1 of....
有谁遇见过这样的问题吗?能提供案例的代码块更好

展开
收起
蛮大人123 2016-02-15 10:08:18 2729 0
1 条回答
写回答
取消 提交回答
  • 蛮大人123
    我说我不帅他们就打我,还说我虚伪
    <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();
        }
    }
    2019-07-17 18:42:58
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载