NSScanner
is the wrong tool for the job. You'd better use a JSON (de)serializer, such as NSJSONSerialization
, instead.
To make your life even easier you can take advantage of AFNetworking
, a networking framework which supports JSON requests. Your code would reduce to something like
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager GET:@"http://www.reddit.com/r/pics/new/.json" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSArray *entries = responseObject[@"data"][@"children"];
for (NSDictionary *entry in entries) {
NSLog(@"%@", entry[@"title"]);
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];