5

Facebookに次のような簡単なリクエストをします。私の目標は、すべてのユーザーのフォトアルバムの名前を取得することです。

[[AppDelegate sharedDelegate].facebook requestWithGraphPath:@"me/albums" andDelegate:[AppDelegate sharedDelegate]];

次に、次のようなサーバーからJSON応答を受け取ります。

data =     (
            {
        "can_upload" = 1;
        count = 4;
        "cover_photo" = 321491374598618;
        "created_time" = "2012-06-04T21:46:23+0000";
        from =             {
            id = 100002132746588;
            name = "Owner....";
        };
        id = 321491371265285;
        link = "http://www.facebook.com/album.php?fbid=321491371265285&id=100002132746588&aid=73680";
        name = "Photos";
        privacy = custom;
        type = normal;
        "updated_time" = "2012-06-04T22:08:39+0000";
    },
            {
        "can_upload" = 0;
        count = 1;
        "cover_photo" = 318401854907570;
        "created_time" = "2012-05-31T00:00:35+0000";
        description = "Which Friend Stalks You the Most?";
        from =             {
            id = 100002132746588;
            name = "Owner....";
        };
        id = 318401848240904;
        link = "http://www.facebook.com/album.php?fbid=318401848240904&id=100002132746588&aid=73163";
        name = "Which Friend Stalks You the Most?";
        privacy = friends;
        type = normal;
        "updated_time" = "2012-05-31T00:00:36+0000";
    },

等々。問題は、次のようにデータを解析しようとすると、次のようになります。

NSLog(@"%@", [result objectForKey:@"name"]);

取得しnullます。データが返されるのは、どのエントリに集中するNSDictionaryかわからないため、これが発生していると思います。すべてのアルバムnameの名前を取得するためにデータを解析するにはどうすればよいですか?

4

1 に答える 1

3

「結果」は実際には辞書の配列であるため、配列をループして、配列内の各要素から名前を取得します。

for (NSDictionary *anAlbum in [result objectForKey:@"data"]) {
    NSLog(@"%@", [anAlbum objectForKey:@"name"]);
}
于 2012-06-04T23:17:26.027 に答える