Java 解析JSON数据时应用程序崩溃

Java 解析JSON数据时应用程序崩溃,java,android,json,facebook,facebook-graph-api,Java,Android,Json,Facebook,Facebook Graph Api,大家好,我正在尝试获取用户喜欢的页面列表。 首先,这是信息的外观: { "likes": { "data": [ { "name": "Page Name Here", "id": "Page id", "created_time": "Date" }, {

大家好,我正在尝试获取用户喜欢的页面列表。 首先,这是信息的外观:

{
  "likes": {
      "data": [
                 {
                   "name": "Page Name Here",
                   "id": "Page id",
                   "created_time": "Date"
                 },
                 {
                   "name": "Page Name Here",
                   "id": "Page id",
                   "created_time": "Date"
                 },
                 {
                   "name": "Page Name Here",
                    "id": "Page id",
                   "created_time": "Date"
                  }
                  ....
                  ....
                  ....
}
这是我的代码:

 loginButton.setReadPermissions("user_likes");

    loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {

        GetPagesUrl = "https://graph.facebook.com/v2.4/me?fields=likes.limit(10000){name}&access_token=" + loginResult.getAccessToken().getToken();
        JSONObject js = new JSONObject(get_json(GetPagesUrl));
        JSONArray jarray = js.getJSONArray("data");
        for(int i = 0; i < jarray.length(); i++){
           // do whatever with jarray.getJSONObject(i).getJSONString("name");
        }

        @Override
        public void onCancel() {

        }

        @Override
        public void onError(FacebookException e) {

        }
    });
**不幸的是,我在一台真正的设备上测试我的应用程序,因为我无法创建AVD,所以我不能告诉你我遇到了什么样的错误**


谢谢:)

您应该在JSON方案中的
“id”:“Page id”
之后添加逗号。

我相信这个问题是因为

JSONArray jarray = js.getJSONArray("data");

首先尝试访问
“likes”
,然后访问
“data”
元素。

通常解决此类问题的一个好方法是调试。 只需使用debug运行应用程序,并在此处使用断点: JSONObject js=新的JSONObject(get_json(GetPagesUrl))


如果没有帮助您找到答案,您可以发布js的数据。

在真实设备上进行测试也会在日志中显示错误日志。上传错误日志。例如,你可以检查你的JSON字符串。每个“页面id”后面都缺少一个逗号。@AndréBlaszczyk我写这篇文章作为示例并不想遗漏这个逗号。你能分享错误消息吗?我如何读取错误消息?如何访问logcat@AndréBlaszczyki将此作为示例编写,并不意味着忽略此逗号。
JSONArray jarray = js.getJSONArray("data");