мое приложение получить данные из веб-службы PHP и возвращает NSStringПолучение элемента из NSString
["first name","last name","adress","[email protected]","000-000-0000","password","code","0"]
Как я могу получить второй элемент?
мое приложение получить данные из веб-службы PHP и возвращает NSStringПолучение элемента из NSString
["first name","last name","adress","[email protected]","000-000-0000","password","code","0"]
Как я могу получить второй элемент?
Этот веб-сервис не возвращает NSString. Он выполняет данные в некотором формате, определенном службой, и конвертирует его в NSString. Узнайте, какой формат на самом деле есть, а затем соответствующим образом преобразуйте его, например, используя NSJSONSerialization.
Пример строки, показанной здесь, кажется, проводной. Это больше похоже на массив, чем на строку. Если это NSArray
, то вы можете сделать это следующим образом:
NSArray *data = @[@"first name",@"last name", @"adress", @"[email protected]", @"000-000-0000", @"password", @"code", @"0"];
NSLog (@"Second component = %@", data[1]);
Однако, если вы предполагаете это как NSString
то это, как вы бы справиться с этим:
NSString *test = @"[\"first name\",\"last name\",\"adress\",\"[email protected]\",\"000-000-0000\",\"password\",\"code\",\"0\"]";
NSLog (@"Second component = %@", [test componentsSeparatedByString:@","][1]);
То, что вы дали здесь массив, а не строку. Может быть, вы могли бы предоставить более подробную информацию, такую как точный ответ и код, который вы здесь пытаетесь.
конвертировать строку JSON в NSDictionary все, что вам нужно сделать, это:
NSError *jsonError;
NSData *objectData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:objectData
options:nil
error:&jsonError];
И NSArray:
NSArray *array = [NSJSONSerialization JSONObjectWithData:objectData options:nil error:&jsonError];
NSString *secondElement = array[1];
bro вопросник выводит начало в массиве, а не словарь, пожалуйста, измените свой ответ. –
Это JSON отформатированную строку, которую вы получаете от вашего веб-сервиса ,
Вы должны получать байты с сервера. Просто замените переменную, у которой есть байты, хранящиеся с моей переменной «данные ответа».
Код:
NSError* error;
NSArray* myResultArray = [NSJSONSerialization
JSONObjectWithData:responseData options:kNilOptions error:&error];
вы получите массив в переменной «myResultArray», и вы можете получить все значения по индексу.
Код:
NSString* first name = [myResultArray objectAtIndex:0];
bro. Вывод вопросника начинается в массиве, а не в словаре, пожалуйста, измените свой ответ –
вы можете показать ваш код попробовал –
я предлагаю вам использовать [тег: JSON] для такого рода обработки данных. –
, пожалуйста, загрузите JSON –