使用JSONKit调用objectFromJSONString时出错

时间:2013-08-20 07:32:12

标签: ios sigabrt jsonkit

我使用以下代码根据从服务器收到的JSON字符串创建字典。 (我已经下载了JSONKit并将其嵌入到项目中)。下面的代码从服务器返回合法的JSON字符串(在Android上解析得很好)但在我尝试将其转换为字典时崩溃。

- (IBAction)submit
{
bool useSSL = true;
char *c_url="http://(rest of URL)";


NSString* url = [NSString stringWithFormat:@"%s" , c_url];
url = [NSString stringWithFormat:@"%@%@%s", url, self.label.text, "/keys"];
NSString * response = [self getDataFrom:url];


NSDictionary *dict = [response objectFromJSONString]; //generates SIGABRT!!
NSLog(@"%@",dict); 

NSString *success = [dict valueForKey:@"success"];

} 



- (NSString *) getDataFrom:(NSString *)url{
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setHTTPMethod:@"GET"];
[request setURL:[NSURL URLWithString:url]];

NSError *error = [[NSError alloc] init];
NSHTTPURLResponse *responseCode = nil;

NSData *oResponseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&responseCode error:&error];

if([responseCode statusCode] != 200){
    NSLog(@"Error getting %@, HTTP status code %i", url, [responseCode statusCode]);
    return nil;
}

return [[NSString alloc] initWithData:oResponseData encoding:NSUTF8StringEncoding]; 
}

谢谢, 西蒙

1 个答案:

答案 0 :(得分:0)

找到答案here。 答案说:“想出来......我在项目中包含了JSONKIt.h,但由于一些奇怪的原因,JSONKit.m没有包含在'Build Phases'下的'Compile Sources'中 - 一旦我手动添加它就开始了工作正常。“