Разбор JSON в Objective-C с SBJSON - PullRequest
2 голосов
/ 28 июня 2011

Я просто хочу проанализировать эту строку JSON в Objective-C, используя инфраструктуру SBJSON, и получить три единицы данных:

{"x":"197","y":"191","text":"this is a string"}

Как это можно сделать?

Ответы [ 2 ]

4 голосов
/ 28 июня 2011
NSString * jsonString = @"{\"x\":\"197\",\"y\":\"191\",\"text\":\"this is a string\"}";
SBJSON *jsonParser = [[SBJSON alloc] init];
NSDictionary * dictionary = [jsonParser objectWithString:jsonString];
NSLog(@"x is %@",[dictionary objectForKey:@"x"]);
[jsonParser release];
2 голосов
/ 29 марта 2012

Вот пример:

NSString *jsonText = @"...";
SBJsonParser *parser = [[SBJsonParser alloc] init];
NSDictionary *dict = [parser objectWithString:jsonText];
for (NSString *key in [@"x y text" componentsSeparatedByString:@" "]) {
  NSLog(@"%@ => %@", key, [dict objectForKey]); 
}

Вот что-то похожее для SBJson4Parser:

id parser = [SBJson4Parser parserWithBlock:^(id v, BOOL *stop) {
    for (NSString *key in [@"x y text" componentsSeparatedByString:@" "]) {
        NSLog(@"%@ => %@", key, [v objectForKey]); 
    }
}
allowMultiRoot:NO
unwrapRootArray:NO
errorHandler:^(NSError *err) {
    // handle error here                                 
}];

NSString *jsonText = @"...";
[parser parse: [jsonText UTF8String]];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...