Я новичок в XCode. Я хотел бы отправить некоторые данные на веб-сервер, который может принимать и отправлять только данные json. Поэтому я попробовал следующий код.Как отправить данные json на веб-сервер
NSMutableDictionary *newDatasetInfo = @{
@"userName":@"abc",
@"passWord":@"1234",
@"apiKey":@"456789"
}.mutableCopy;
NSError *myError = nil;
NSData *post = [NSJSONSerialization dataWithJSONObject:newDatasetInfo options:NSJSONWritingPrettyPrinted error:&myError];
NSURLSessionConfiguration *sessionConfig=[NSURLSessionConfiguration defaultSessionConfiguration];
[email protected]{
@"Accept":@"application/json"
};
NSURLSession *session=[NSURLSession sessionWithConfiguration:sessionConfig];
NSString *postdatalength=[NSString stringWithFormat:@"%lu",(unsigned long)[post length]];
NSMutableURLRequest *request=[[NSMutableURLRequest alloc] init];
[request setURL:([NSURL URLWithString:@"http://xx.xx.xx.xx/efg/ijk/login"])];
[request setHTTPMethod:@"POST"];
[request setValue:postdatalength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:post];
NSURLSessionDataTask *postDataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSString *requestReply = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"requestReply: %@", requestReply);
}];
[postDataTask resume];
Но после выполнения кода я получил ниже сообщение
публикуемой JSON не может быть разобрана.
Кто-нибудь знает, что здесь ошибка? Пожалуйста помоги.
Почему бы не использовать AFNetworking? –
Вы посмотрели на значения 'myError'? Кажется, что 'post' является правильным? Вам не нужно использовать изменяемый словарь для параметров. – Larme