2013-03-09 29 views
-2

我在SBJson *解析器下得到一個紅線,現在我不知道如何去除這個錯誤。有沒有我應該安裝的某種庫,或者我應該怎麼做來消除這個錯誤?我卡在目標C中的json解析中。SBJson *解析器嘿,我在*解析器下得到紅線我應該如何在目標c中使用SBJson解析?

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"]); 
} 
+2

紅線 - 多好的錯誤描述。錯誤信息是什麼意思?順便說一句,這個錯誤是顯而易見的 - 如果你找不到它,就從一些簡單的練習開始吧。 – Sulthan 2013-03-09 15:09:11

+0

你的第一行應該是:'SBJsonParser * parser = [[SBJsonParser alloc] init];'。變量類型應與您分配給它的對象的類型相匹配。 – rmaddy 2013-03-09 16:50:53

回答

2

首先,您應該停止執行同步請求。他們阻止主線程,你的應用程序似乎是不負責任的。其次,除非你有一個很好的理由來使用SBJSON(如中定位iOS < 5),你應該堅持NSJSONSerialization:

NSError *err = nil; 
NSArray *statuses = [NSJSONSerialization JSONObjectWithData:response options:0 error:&err]; 
0

您應該添加文件JSON解析到您的項目從here

在代碼中包含正確的.h文件。