#iphone #json #facebook-graph-api
#iPhone #json #facebook-graph-api
Вопрос:
Я использую Facebook graph API и получаю его результат в формате 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:
Что ж, я вижу здесь четкий объект json. Я бы взял пример SBJSON, где весь JSON анализируется в объект NSDictionary, где application, caption, comments
находятся ключи. Объект для комментария снова формирует словарь с ключами; count, data
. Как только вы доберетесь до data
, у вас будет массив всех данных, и поэтому этот массив содержит несколько словарей. Получение каждого словаря в массиве данных должно решить вашу проблему. Желаю удачи.
Комментарии:
1. У меня возникла проблема в методе post … как я могу установить сообщение и идентификатор в комментарии