我使用以下代码根据从服务器收到的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];
}
谢谢, 西蒙
答案 0 :(得分:0)
找到答案here。 答案说:“想出来......我在项目中包含了JSONKIt.h,但由于一些奇怪的原因,JSONKit.m没有包含在'Build Phases'下的'Compile Sources'中 - 一旦我手动添加它就开始了工作正常。“