Как напечатать JSON Output на консоли - PullRequest
0 голосов
/ 14 июня 2011

Я использую API графа Facebook и получаю его результат в формате json. Я могу напечатать один результат, но в другом путаю.

  application =         {
        id = 142759389130183;
        name = iphonemini;
    };
    caption = "widevision.co.in";
    "created_time" = "2011-06-14T07:56:38+0000";
    from =         {
        id = 100001507678574;
        name = "Widevision Dev";
    };
    icon = "http://www.facebook.com/images/icons/hidden.gif";
    id = "100001507678574_173203589406562";
    link = "http://widevision.co.in/";
    message = "Good Afternoon";
    name = "Check It out";
    type = link;
    "updated_time" = "2011-06-14T07:56:38+0000";
},

Я могу напечатать этот значок, идентификатор, ссылку поэтот код

FbGraphResponse *fb_graph_response = [fbGraph doGraphGet:@"me/feed" withGetVars:nil];


    NSLog(@"method called");
    //parse our json
    SBJSON *parser = [[SBJSON alloc] init];
    NSDictionary *facebook_response = [parser    objectWithString:fb_graph_response.htmlResponse error:nil];    

    [parser release];

    //NSString *feed;
    //  NSString *feed2;
    NSMutableArray *feed =(NSMutableArray *) [facebook_response objectForKey:@"data"];

    //  NSMutableArray *feed1=(NSMutableArray *) [feed valueForKey:@"type"];


    NSLog(@"Feed %@" ,feed );

    NSLog(@"Message is %@ ",[feed valueForKey:@"icon"]);

    NSLog(@"Name is %@",[feed valueForKey:@"name"]);

.. также получите это

from ={
    id= ;
    name = "";
    }


NSMutableArray *streams = (NSMutableArray *)[feed valueForKey:@"from"];



    // loop over all the stream objects and print their titles
        int index;
        NSMutableDictionary *stream;

        for (index = 0; index < [feed count];index++) {
            stream = (NSMutableDictionary *)[streams objectAtIndex:index];



            NSLog(@"Message is %@:",[stream valueForKey:@"name"]);

        }

Но как я могу разобрать это comments = { }....

{
        application =         {
            id = 136664723060869;
            name = Iphoneapp;
        };
        caption = "bit.ly";
        comments =         {
            count = 2;
            data =             (
                                {
                    "created_time" = "2011-06-14T07:39:45+0000";
                    from =                     {
                        id = 100001507678574;
                        name = "Widevision Dev";
                    };
                    id = "100001507678574_164163733643881_1822049";
                    likes = 1;
                    message = hi;
                },
                                {
                    "created_time" = "2011-06-14T08:17:31+0000";
                    from =                     {
                        id = 100001507678574;
                        name = "Widevision Dev";
                    };
                    id = "100001507678574_164163733643881_1822143";
                    message = hmmm;
                }
            );
        };

пожалуйста, помогите

1 Ответ

0 голосов
/ 14 июня 2011

Ну, здесь я вижу чистый объект json. Я бы взял пример SBJSON, где весь JSON анализируется в объект NSDictionary, где application, caption, comments - ключи. Объект для комментариев снова образует словарь с ключами; count, data. Как только вы попадаете на data, у вас есть массив всех данных, поэтому этот массив содержит несколько словарей. Получение каждого словаря в массиве данных должно решить вашу проблему. Желаем удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...