【问题标题】:JSONObject is null even though I get data from facebook graph apiJSONObject 为空,即使我从 facebook graph api 获取数据
【发布时间】:2016-06-21 07:42:18
【问题描述】:

我正在开发 Facebook 应用程序并从 facebook graph api 获取数据。在 AlbumsActivity 我正在执行 AsyncTask ,而在 loandInBackground 我调用 getJSONString 方法,该方法应该执行 Facebook api 的 GraphRequest 并从其响应中返回 jsonObject 。

由于 GraphRequest 中的 onCompleted 方法是无效的,我创建了具有 null 值的 JSONObject 并在 onComplete 中对其进行了初始化。但是当我返回 json 时,它给出了 null。我认为问题是在 GraphRequest.executeAsync 完成之前返回了 json。

【问题讨论】:

  • 您正在使用 Facebook 应用程序。它有什么新变化?尽管请发布更多代码,这几乎无法忍受

标签: android json facebook-graph-api android-asynctask


【解决方案1】:

您正在另一个线程中设置json 的值,当函数到达return statement 时,json 的值尚未由callback 设置。这就是您将 json 值设为 null 的原因。

【讨论】:

  • @Yusuf 当你已经获得 GraphRequest 的回调时,你为什么还要使用 AsynkTask。尝试在onComplete() 中执行mParserManager.getAlbum()
【解决方案2】:

试试这个:

JSONArray 数据= response.getJSONObject().getJSONArray("data");

jsonObject = response.getJSONObject("graphObject");

这是我认为您想要的相关数据。

【讨论】:

    猜你喜欢
    • 2018-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多