我知道这个问题已被多次询问,但我找不到任何解决方案......
我试图让用户喜欢Facebook并检查用户是否喜欢我的页面。
我的代码:
public void checkIfLikes() {
Session session = Session.getActiveSession();
new Request(
session,
"/" + user_ID + "/likes",
null,
HttpMethod.GET,
new Request.Callback() {
public void onCompleted(Response response) {
String likesJson = response.toString();
JSONObject jsonObject = null;
try {
jsonObject = new JSONObject(likesJson);
JSONArray jsonArray = jsonObject.getJSONArray("data");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject idObjects = jsonArray.getJSONObject(i);
String id = idObjects.getString("id");
if (id.equals("192157224142472")) {
Toast.makeText(getActivity(), "success", Toast.LENGTH_SHORT).show();
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
).executeAsync();
}
现在我在运行时收到此错误:
04-28 00:34:23.140:W / System.err(18946):org.json.JSONException: 未响应的对象,位于{Response:responseCode:200, graphObject:GraphObject {graphObjectClass = GraphObject, 状态= { “数据”:[{ “CREATED_TIME”: “2015-04-27T20:46:22 + 0000”, “ID”: “463197940498665”, “类别”:“社区 组织“,”名称“:”Pitch Tonight“},{”id“:”753310168023547“......
在我看来,我做对了,JSON字符串对我来说也很好。 如果发布此问题,想要一些帮助和抱歉。 谢谢。
答案 0 :(得分:1)
我将假设实际的JSON是服务器响应中“state”字段的值,并且您将整个服务器响应解析为JSON。这可能是问题所在。