GraphResponse中的getJSONArray()无法应用于java.lang.String-Facebook
我已经开发了一个与facebook登录集成的android应用程序,现在我想创建facebook应用程序邀请功能(invitable_friends api),但在我的代码中,我得到了红色下划线错误GraphResponse中的getJSONArray()无法应用于java.lang.String-Facebook,java,android,facebook,sdk,Java,Android,Facebook,Sdk,我已经开发了一个与facebook登录集成的android应用程序,现在我想创建facebook应用程序邀请功能(invitable_friends api),但在我的代码中,我得到了红色下划线错误 private void loadFriendsFromFacebook(final String str) { final AccessToken accessToken = AccessToken.getCurrentAccessToken(); new GraphReque
private void loadFriendsFromFacebook(final String str) {
final AccessToken accessToken = AccessToken.getCurrentAccessToken();
new GraphRequest(AccessToken.getCurrentAccessToken(), str, null, HttpMethod.GET,
new GraphRequest.Callback() {
List<String> s = new ArrayList();
List<String> F = new ArrayList();
List<String> G = new ArrayList();
String t = "";
String u = "";
int w = 0;
boolean x = false;
String[] y = new String[2];
String E = "";
OnInviteListener onInviteListener = null;
public void onCompleted(GraphResponse response) {
SharedPreferences.Editor edit = getSharedPreferences("friendsData", 0).edit();
try {
int i;
JSONArray jSONArray = response.getJSONArray("data");
for (i = 0; i < jSONArray.length(); i++) {
this.s.add(jSONArray.getJSONObject(i).getString(Page.Properties.ID));
}
for (i = 0; i < jSONArray.length(); i++) {
this.G.add(jSONArray.getJSONObject(i).getJSONObject(Page.Properties.PICTURE).getJSONObject("data").getString("url"));
edit.putString("friendPhoto", jSONArray.getJSONObject(i).getJSONObject(Page.Properties.PICTURE).getJSONObject("data").getString("url"));
this.F.add(jSONArray.getJSONObject(i).getString(Page.Properties.NAME));
edit.putString("friendName", jSONArray.getJSONObject(i).getString(Page.Properties.NAME));
}
edit.commit();
for (i = 0; i < this.s.size(); i++) {
this.u += ((String) this.s.get(i)) + ",";
}
JSONObject jSONObject2 = response.getJSONObject("paging");
if (jSONObject2.toString().contains("next")) {
this.t = jSONObject2.getString("next").toString();
} else if (this.s.size() < 1) {
this.x = true;
}
} catch (Exception e) {
System.out.println("Exception=" + e);
e.printStackTrace();
}
}
}).executeAsync();
}
private void loadFriendsFromFacebook(最终字符串str){
最终AccessToken AccessToken=AccessToken.getCurrentAccessToken();
新的GraphRequest(AccessToken.getCurrentAccessToken(),str,null,HttpMethod.GET,
新建GraphRequest.Callback(){
列表s=新的ArrayList();
列表F=新的ArrayList();
列表G=新的ArrayList();
字符串t=“”;
字符串u=“”;
int w=0;
布尔x=假;
字符串[]y=新字符串[2];
字符串E=“”;
OnInviteListener OnInviteListener=null;
未完成公共空白(图形响应){
SharedReferences.Editor edit=getSharedReferences(“friendsData”,0.edit();
试一试{
int i;
JSONArray JSONArray=response.getJSONArray(“数据”);
对于(i=0;i
其中response.getJSONArray(“数据”)
数据为红色下划线,表示graphrespone中的getJSONArray()无法应用于java.lang.sting
和响应中的相同错误。getJSONObject(“分页”)
有人能告诉我代码中有什么错误吗?
非常感谢。从这里()我可以看到
getJSONObject()
和getJSONArray()
根本没有参数。您应该使用此方法从GraphResponse
检索数组中相应的对象,并且一旦拥有JsonObject
或JsonArray
就可以访问特定字段
response.getJSONArray()
将为您提供类型为JSONArray
和response的对象。getJSONObject()
将为您提供类型为JSONObject
的对象。使用此对象,您可以使用jsonObject.getString(“user_id”)
或类似方法访问字段(参见docs.oracle.com/javaee/7/api/javax/json/jsonObject.html)“您应该使用此方法从GraphResponse中检索相应的对象”您能告诉我更多关于此的信息吗?添加了更详细的解释,我是发展中国家的新手。。你能告诉我确切的密码吗?所以我可以把它放在我的课堂上