次のコードを使用して、サーバーから受信した 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];
}
ありがとう、サイモン