NSArray проблема в iOS

Я отправляю объект массива на php сервер. Я не уверен, как отправить данные формата массива на сервер php

когда я пытаюсь отправить формат массива, мой формат массива выглядит следующим образом. Как удалить скобки и двойные кавычки

"(

vdsvvdsvdsv

)"

Пожалуйста, дайте мне знать, как я могу сделать это правильно.

-1

Решение

Эта линия

[request setHTTPBody:[[NSString stringWithFormat:@"userid=%@&projectSponsor=%@&projectid=%@", userId,addSponsorEmailStringInModel,projectId] dataUsingEncoding:NSUTF8StringEncoding]];

На самом деле должно быть 2 части

NSString *emails = [addSponsorEmailStringInModel componentsJoinedByString:@","];
[request setHTTPBody:[[NSString stringWithFormat:@"userid=%@&projectSponsor=%@&projectid=%@", userId,emails,projectId] dataUsingEncoding:NSUTF8StringEncoding]];

Так что вы явно конвертируете свой массив в формат строки, ожидаемый сервером

0

Другие решения

Вам нужно конвертировать NSArray в NSData а затем в строку JSON перед отправкой на сервер.

Надеюсь, эта ссылка поможет: https://stackoverflow.com/a/10323594/3336675

РЕДАКТИРОВАТЬ:

NSMutableString *jsonString = [[NSMutableString alloc]initWithString:@"{\"userId\":\""];
[jsonString appendFormat:@"%@\",\"projectSponsor\":\"%@\",\"projectId\":\"%@\"}", userId, addSponsorEmailStringInModel, projectId];

затем

NSString *urlString = [NSString stringWithFormat:@"%@",@"http://url.com/..."];

NSMutableData *responseData;

NSString* escapedUrlString =[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURL* serverUrl = [NSURL URLWithString:escapedUrlString];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:serverUrl];

[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; //set value according to your requirement

затем

[request setHTTPBody:[NSString stringWithString:jsonString] dataUsingEncoding:NSUTF8StringEncoding];
[request setHTTPMethod:@"POST"];

И тогда, если вы хотите возвращаемое значение, используйте это

NSURLResponse *res = nil;
NSError *err = nil;

NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&res error:&err];//or asynchronous, as you wish

data теперь содержит возвращенный объект JSON

0

Это зависит от кода сервера, который написан для обработки входных потоков.

По сути, для передачи на сервер нужны данные в формате XML или JSON.

Для JSON выберите простой парсер вроде SBJSONParser и передать массив к нему. (С sbjson мы можем даже конвертировать)

Для XML вам потребуется использовать NSDATA для преобразования данных в байты, а затем передать их в тег.

0
По вопросам рекламы [email protected]