Использование необъявленного идентификатора в json для iOS - PullRequest
2 голосов
/ 30 сентября 2011

Я использую необъявленную ошибку идентификатора в моем json, но я следую примеру из http://blog.zachwaugh.com/post/309924609/how-to-use-json-in-cocoaobjective-c

как мне это исправить? Да, я очень плохо знаком с объективом-c \ ios :) Спасибо

Я помещаю этот код в мое приложение на основе представления в моем файле viewcontroller.m

Проблема связана с "SBJSON * parser = [[SBJSON alloc] init];"

 // Create new SBJSON parser object
   SBJSON *parser = [[SBJSON alloc] init];

// Prepare URL request to download statuses from Twitter
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://twitter.com/statuses/public_timeline.json"]];

// Perform request and get JSON back as a NSData object
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

// Get JSON as a NSString from NSData response
NSString *json_string = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];

// parse the JSON response into an object
// Here we're using NSArray since we're parsing an array of JSON status objects
NSArray *statuses = [parser objectWithString:json_string error:nil];

// Each element in statuses is a single status
// represented as a NSDictionary
for (NSDictionary *status in statuses)
{
    // You can retrieve individual values using objectForKey on the status NSDictionary
    // This will print the tweet and username to the console
    NSLog(@"%@ - %@", [status objectForKey:@"text"], [[status objectForKey:@"user"] objectForKey:@"screen_name"]);
}

1 Ответ

4 голосов
/ 30 сентября 2011

Попробуйте изменить строку на SBJsonParser *parser = [[SBJsonParser alloc] init];

Edit:

Более простой способ - использовать категорию NSString, которую предоставляет SBJSON:

NSArray *statuses = (NSArray *)[json_string JSONValue];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...