나는 다음과 같은 방법으로 내 애플 리케이션에서 데이터를 사전으로 변환했지만 json 개체가 nil이라는 것을 보여준다.목표 C에서 JSON 직렬화 된 데이터를 NSDictionary로 변환하는 방법은 무엇입니까?
"jsonObject is null"이 출력됩니다. "error : nil"에 문제가 있습니까?
- (void)postNonceToServer:(NSString *)paymentMethodNonce {
// Update URL with your server
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
manager.responseSerializer.acceptableContentTypes = [manager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"];
NSDictionary *parameters = @{@"payment_method_nonce":paymentMethodNonce,@"amount":amountStr,@"tripid":tripIdStr,@"currencycode":currencyStr};
[manager POST:@"http:url.php" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
//NSArray *response = responseObject;
//response = responseObject;
NSLog(@"responseObject is %@",responseObject);
jsonObject=[NSJSONSerialization
JSONObjectWithData:responseObject
options:NSJSONReadingMutableLeaves
error:nil];
NSLog(@"jsonObject is %@",jsonObject);
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
}
아니,'오류와 "더 문제"가 없다 : nil', 그것은 허용,하지만 그것은 분명히 문제를 디버깅하는 데 도움이 될 수 있습니다 및 오류 매개 변수를 사용하여 방지하는 것은 권장되지 않습니다. 그것은 당신의 차안에 경고를 숨기는 것과 같습니다. 작동하는 한 괜찮습니다. 하지만 그렇지 않을 때 ... 또한'responseObject' (NSString으로 변환되기 전에)를 표시하면 도움이됩니다. – Larme
이것은 responseObject가 NSASCIIStringEncoding 인 경우 발생할 수 있습니다. 'JSONObjectWithData'는'NSUTF8StringEncoding'을 필요로합니다. 그것이 WatchOS2.2에서 나에게 일어났던 것입니다. – Brandon
@ Larme please please @ Larme –