2016-03-14 3 views
1

Я пытаюсь установить мое изображениеView с URL-адресом, возвращаемым в данных JSON ниже в «value» (secondLink). Когда я использую следующий код, он возвращает весь блок в JSON через мою консоль XCode - как должен выглядеть мой код, если я ТОЛЬКО хочу, чтобы URL-адрес изображения возвращался (прямо сейчас я предполагаю, что он пытается установить imageView с ВСЕМ возвратом во второмLink)?Установить NSString с возвращенным значением JSON

ViewController.m

NSString *secondLink = [[[[DIOSSession sharedSession] user] objectForKey:@"field_photo_path"] objectForKey:@"safe_value"]; 

    NSLog(@"This is second link %@", secondLink); 

    if([secondLink length]>0) { 


    NSString *ImageURL = secondLink; 
    NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:ImageURL]]; 
    self.imageView.image = [UIImage imageWithData:imageData]; 


    } else { 

    NSString *ImageURL = @"defaulturl.com"; 
    NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:ImageURL]]; 
    self.imageView.image = [UIImage imageWithData:imageData]; 
} 

JSON данные

{ 
    und =  (
       { 
      format = "<null>"; 
      "safe_value" = "http://myurl.com/sites/default/files/stored/photo.jpg"; 
      value = "http://myurl.com/sites/default/files/stored/photo.jpg"; 
     } 
    ); 
} 
+1

Так эта строка 'NSLog (@«Это вторая ссылка% @», secondLink);' печатает цельные JSON блокирует вас? – random

+2

Опубликовать JSON в его естественной форме –

+0

Кроме того, в чем смысл XML? Вам тоже нужно разбираться? – random

ответ

1

В field_photo_path имеется словарь und, который содержит массив.
Первым элементом массива является словарь, содержащий ключ safe_value.

Предполагается, что user также словарь (по крайней мере, он отвечает на objectForKey:)

NSDictionary *user = [[DIOSSession sharedSession] user]; 
NSString *secondLink = user[@"field_photo_path"][@"und"][0][@"safe_value"]; 
+0

Да, я бы сделал то же самое, но мне интересно, почему у нее этот ключ в цитате не похож на другие записи. –

+0

, вероятно, отправил неверно отформатированные данные о том, что она сейчас возвращается – random

+0

Или, может быть, этот ключ должен выглядеть так: '@" \ " safe_value \ "" ' –

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