私は自分のアプリケーションでデータを辞書に変換するために次の方法を使用しましたが、jsonオブジェクトがnilだったことを示しています。Objective 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);
}];
}
いいえ、「error:nil」は「問題ありません」ということは許可されていますが、問題をデバッグするのに役立ち、エラーパラメータの使用を避けることは推奨できません。それはあなたの車に警告を隠すようなものです。それが動作する限り、それは大丈夫です。しかし、そうでない場合...また、(NSStringに変換する前に) 'responseObject'を表示すると、助けになるかもしれません。 – Larme
これは、responseObjectがNSASCIIStringEncodingである場合に発生します。 'JSONObjectWithData'は' NSUTF8StringEncoding'を必要とします。それはWatchOS2.2で私に起こっていたものです。 – Brandon
@ Larmeさんに詳細を教えてください –