2011-01-06 2 views
0

Я делаю Fconnect в том, что, когда пользователь подключается к facebook Я получаю строку, как этот {"id":"100001480456987","name":"Vishnu Gupta","first_name":"Vishnu","last_name":"Gupta","link":"http:\/\/www.facebook.com\/profile.php?id=100001480456987","education":[{"school":{"id":"110885222265513","name":"st.joseph"},"type":"High School"}],"gender":"male","email":"[email protected]","timezone":5.5,"locale":"en_US","verified":true,"updated_time":"2010-11-27T10:10:25+0000"}Как получить подстроку из строки?

Теперь я хочу, чтобы разделить имя идентификатора и электронный идентификатор пользователя, так что я могу хранить его в моей базе данных.

Может кто-нибудь сказать мне, как это сделать ????

ответ

3

Вы не хотите разделить строку, чтобы получить эти значения. Вместо этого вы хотите разобрать JSON для захвата данных. Я использовал эту библиотеку, она работает очень хорошо: http://stig.github.com/json-framework/

Надеюсь, это поможет!

EDIT: Некоторые примеры кода:

NSDictionary *dict = [responseFromFacebook JSONValue]; 
NSString *facebookID = [dict objectForKey:@"id"]; 
NSString *name = [dict objectForKey:@"name"]; 
NSString *email = [dict objectForKey:@"email"]; 
+0

Спасибо и так много .......... Он работал для меня ...... – neha

0

Использовать анализатор JSON. См. this answer для ссылок на вопросы, связанные с stackoverflow о различных доступных JSON-библиотеках.

Конечно, я хотел бы также упомянуть свою собственную библиотеку разбора JSON, JSONKit. На момент написания этой статьи я считаю справедливым сказать, что это самый быстрый парсер JSON.

+0

Все исходные данные и код доступен? –

+0

[json-benchmarks] (https://github.com/samsoffes/json-benchmarks), [Что является наиболее эффективным способом преобразования ответа JSON на 10 МБ в NSDictionary?] (Http://stackoverflow.com/questions/4351930/Whats-the-most-efficient-way-of-conversion-a-10-mb-json-response-in-an-nsdicti), [Cocoa JSON-анализирующие библиотеки, часть 2] (http: // psionides. jogger.pl/2010/12/12/cocoa-json-parsing-libraries-part-2/) – johne

0

Попробуйте

NSDictionary *dict=[[NSDictionary alloc]init]; 
    string=[string stringByReplacingOccurrencesOfString:@"{" withString:@""]; 
    string=[string stringByReplacingOccurrencesOfString:@"}" withString:@""]; 
    string=[string stringByReplacingOccurrencesOfString:@"\"" withString:@""]; 
    NSArray *seperated=[string componentsSeparatedByString:@","]; 
    for(int index=0;index<[seperated count];index++) 
    { 
     NSArray *sub=[[seperated objectAtIndex:index] componentsSeparatedByString:@":"]; 
     [dict setValue:[sub objectAtIndex:0] forKey:[sub objectAtIndex:1]]; 
    } 
Смежные вопросы