2015-09-21 3 views
-1

мое приложение получить данные из веб-службы PHP и возвращает NSStringПолучение элемента из NSString

["first name","last name","adress","[email protected]","000-000-0000","password","code","0"] 

Как я могу получить второй элемент?

+0

вы можете показать ваш код попробовал –

+0

я предлагаю вам использовать [тег: JSON] для такого рода обработки данных. –

+0

, пожалуйста, загрузите JSON –

ответ

0

Этот веб-сервис не возвращает NSString. Он выполняет данные в некотором формате, определенном службой, и конвертирует его в NSString. Узнайте, какой формат на самом деле есть, а затем соответствующим образом преобразуйте его, например, используя NSJSONSerialization.

0

Пример строки, показанной здесь, кажется, проводной. Это больше похоже на массив, чем на строку. Если это 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]); 
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]; 
+0

bro вопросник выводит начало в массиве, а не словарь, пожалуйста, измените свой ответ. –

2

Это JSON отформатированную строку, которую вы получаете от вашего веб-сервиса ,

Вы должны получать байты с сервера. Просто замените переменную, у которой есть байты, хранящиеся с моей переменной «данные ответа».

Код:

NSError* error; 
    NSArray* myResultArray = [NSJSONSerialization 
     JSONObjectWithData:responseData options:kNilOptions error:&error]; 

вы получите массив в переменной «myResultArray», и вы можете получить все значения по индексу.

Код:

NSString* first name = [myResultArray objectAtIndex:0]; 
+0

bro. Вывод вопросника начинается в массиве, а не в словаре, пожалуйста, измените свой ответ –

Смежные вопросы