Я использовал следующий метод для преобразования данных в словарь в моем приложении, но он показывает, что объект json был равен нулю.Как преобразовать сериализованные данные JSON в NSDictionary в Objective C?
Печать «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 –