从GraphObject获取相册并在android中显示

从GraphObject获取相册并在android中显示,android,facebook-graph-api,Android,Facebook Graph Api,我使用GraphObject从Facebook获取了专辑数据: Request.ExecuteGraphPathRequestAsync (Session.ActiveSession, "/me/albums", this); 我将相册的所有数据(如相册id、相册名称、照片数等)作为InnerJSONObject获取: Console.WriteLine("output = " + response.GraphObject.InnerJSONObject); 我以InnerJSONObjec

我使用GraphObject从Facebook获取了专辑数据:

Request.ExecuteGraphPathRequestAsync (Session.ActiveSession, "/me/albums", this);
我将相册的所有数据(如相册id、相册名称、照片数等)作为InnerJSONObject获取:

Console.WriteLine("output = " + response.GraphObject.InnerJSONObject);
我以InnerJSONObject的形式获得输出—作为包含所有数据的字符串

我的问题是,我如何解析该对象,以便为每个相册获取单独的字段,如相册id、名称等,我可以使用这些字段在我的应用程序中显示照片

或者,是否有任何直接的方法可以使用FB id构建用户的Facebook相册页面(包括UI?

如文档所述(),JSONObject是“名称/值映射的可修改集。名称是唯一的非空字符串。值可以是Org.Json.JSONObject、Org.Json.JSONArray、字符串、布尔值、整数、长、双精度或JSONObject.Null的任意组合。值不能为null、Java.Lang.Double.IsNaN、Java.Lang.Double.IsInfinite或此处未列出的任何类型。”因此,您可以将其用作任何键/值对象(例如:作为IDictionary)

但我认为最好、最简单的方法是将JSON对象反序列化为类。我的意思是,将JSONObject转换为字符串,然后使用JSON.NET()进行反序列化。例如:

var data=response.GraphObject.InnerJSONObject;
//获取json字符串
var dataString=data.ToString();
//反序列化它
var myAlbums=JsonConvert.DeserializeObject(数据字符串);
  • 要获得“MyAlbums”类,可以使用AlbumJSON字符串(dataString)和这个奇妙的工具创建它
var data = response.GraphObject.InnerJSONObject;

// get json string
var dataString = data.ToString ();

// deserialize  it
var myAlbums = JsonConvert.DeserializeObject<MyAlbums>(dataString);