Задать вопрос
GeorgeGeorge
@GeorgeGeorge
Студент

Как распарсить json ответ сервера на objective-c?

Всем доброго времени суток!
Делаю iOS клиент для сайта и возникла проблема.
Посылаю запрос на сервер с e-mail'ом и паролем.

//нажимаем на кнопку sign up
- (IBAction)enterButton:(id)sender {
    
    NSString *myEmail = textFieldEmail.text;
    NSString *myPassword= textFieldPassword.text;

    //url encoding email
    NSString *encodeEmail = myEmail;
    NSString *escapedStringEmail = [encodeEmail stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]];
    
    //md5 password
    NSString *md5Paswword = [NSString md5String:myPassword];
    
    NSString *url = [NSString stringWithFormat:@"http://site.com/app/api/user/auth/%@/%@", escapedStringEmail, md5Paswword];

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL
                                                                        URLWithString:url]
                                                                        cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:15.0];
                                    request.HTTPMethod = @"POST";

    NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];

    if (connection) {
        
        receviedData = [[NSMutableData data] init];
        
    }
    
    NSLog(@"%@", request);
}


//возвращаем ответ авторизаци
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
    [receviedData setLength:0];
}

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    
    [receviedData appendData:data];
    
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
    
    NSString *data = [[NSString alloc] initWithData:receviedData encoding:NSUTF8StringEncoding];
    
    UIAlertView *authResult = [[UIAlertView alloc] initWithTitle:@"Результат" message:data delegate:self cancelButtonTitle:@"Okay" otherButtonTitles:nil];
    
    [authResult show];


}

Запрос отправляется корректно. Сервер должен вернуть ответ в json (Пример ответа сервера {"result":true,"token":"aa7233c079ae32d62e97bf476bfd99f8"} )
Как распарсить json ответ сервера ?
Насколько я понял, я получаю обычную строку в ввиде json массива
  • Вопрос задан
  • 3354 просмотра
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
smanioso
@smanioso
Отмечайте ответы на свои вопросы!
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы