Данные почтовых служб iphone json

Я работаю над одним приложением iOS, в котором мне нужно опубликовать json web-данные в URL-адрес веб-сервиса, и мне нужно получить ответ со стороны сервера.

поскольку я пытался кодировать для отправки веб-данных с помощью json formate, но, к сожалению, пока у меня нет никакой помощи, чтобы сделать это возможным.

ниже приведены данные запроса веб-url & json, которые мне нужно передать веб-сервисам для получения ответа,

WebUrl: http://testing.com/controllogic/webservices/all_data_webservice/set_device_token_ios

web data pass: webdata={"device_token":"test"}

теперь я запутался, как я могу передать webdata={"device_token":"test"} json, чтобы получить ответ со стороны сервера.

ниже мой код, который я устал, чтобы сделать это возможным,

Кодирование:

NSOperationQueue *queue = [[NSOperationQueue alloc] init];
 NSURL *postURL = [NSURL URLWithString: @"http://testing.com/controllogic/webservices/all_data_webservice/set_device_token_ios"];
 NSDictionary *jsonDict = [[NSDictionary alloc] initWithObjectsAndKeys:
 @"Akash IOS PUSH", @"device_token",
 nil];

 // NSString *string_val = @"webdata=";

 // NSString *data = [NSString stringWithFormat:@"data=%@",[[NSString alloc] initWithData:jsData encoding:NSUTF8StringEncoding]];

 // NSString *myString_VAL =[NSString stringWithFormat:@"%@%@",string_val,jsonDict];

 NSError *error;
 NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonDict options:0 error:&error];

 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL: postURL
 cachePolicy: NSURLRequestUseProtocolCachePolicy
 timeoutInterval: 60.0];

 [request setHTTPMethod: @"POST"];
 [request setValue: @"application/x-www-form-urlencoded" forHTTPHeaderField: @"Accept"];
 [request setValue: @"application/x-www-form-urlencoded" forHTTPHeaderField: @"content-type"];

 [request setHTTPBody: jsonData];

 [NSURLConnection sendAsynchronousRequest: request
 queue: queue
 completionHandler: ^(NSURLResponse *response, NSData *data, NSError *error) {
 if (error || !data) {
 // Handle the error

 NSLog(@"Server Error : %@", error);
 } else {
 // Handle the success

 NSLog(@"Server Responce :%@",response);
 }
 }
 ];

Пожалуйста, любой орган поможет мне сделать это возможным.

1 ответ

Вы можете использовать следующий код. Я надеюсь, что это может сработать.

NSOperationQueue *queue = [[NSOperationQueue alloc] init];
NSDictionary *jsonDictionary = [NSDictionary dictionaryWithObjectsAndKeys: @"Akash IOS PUSH", @"device_token",nil];


NSData * JsonData =[NSJSONSerialization dataWithJSONObject:jsonDictionary options:NSJSONWritingPrettyPrinted error:nil];
NSString * jsonString= [[NSString alloc] initWithData:JsonData encoding:NSUTF8StringEncoding];



NSMutableData *body = [NSMutableData data];

[body appendData:[[NSString stringWithFormat:@"%@",jsonString] dataUsingEncoding:NSUTF8StringEncoding]];

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://testing.com/controllogic/webservices/all_data_webservice/set_device_token_ios"]]];
[request setHTTPBody:body];
[request setHTTPMethod:@"POST"];
[NSURLConnection sendAsynchronousRequest: request
 queue: queue
 completionHandler: ^(NSURLResponse *response, NSData *data, NSError *error) {
 if (error || !data) {
 // Handle the error

 NSLog(@"Server Error : %@", error);
 } else {
 // Handle the success

 NSLog(@"Server Response :%@",response);
 }
 }
 ];

licensed under cc by-sa 3.0 with attribution.