-3

我在 SBJson *parser 下得到一条红线,现在我不知道如何删除此错误。我应该安装某种库,或者我应该怎么做才能消除这个错误?我被困在目标 C 中的 json 解析中。

SBJSON *parser=[[SBJsonParser alloc] init];

NSURLRequest *request =[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://localhost/jsontest1.php"]];


NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

NSString *json_string = [[NSString alloc] initWithData:response encoding: NSUTF8StringEncoding];

NSArray *statuses = [parser objectWithString:json_string error:nil];
for (NSDictionary *status in statuses)
{
    NSLog(@"%@ - %@", [status objectForKey:@"text"],

          [[status objectForKey:@"user"]objectForKey:@"screen_name"]);
}
4

2 回答 2

2

首先,您应该停止执行同步请求。他们阻塞了主线程,您的应用程序似乎不负责任。其次,除非你有充分的理由使用 SBJSON(针对 iOS < 5),否则你应该坚持使用 NSJSONSerialization:

NSError *err = nil;
NSArray *statuses = [NSJSONSerialization JSONObjectWithData:response options:0 error:&err];
于 2013-03-09T15:26:13.943 回答
0

您应该从这里将用于 JSON 解析的文件添加到您的项目中。

将正确的 .h 文件包含到您的代码中。

于 2013-03-10T06:54:07.620 回答