2012-05-23 3 views
0

После JSon разбора я получить словарные значения, как таким образомКак получить строковые значения из NSDictionary?

NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData //1 
                 options:kNilOptions error:&error]; 

После печати словаря JSon я получаю ниже выходные

{ 
     Title= "hi"; 
     title2 = "welcome"; 
     FriendlyName = B325; 
     Id = 1; 
     MyLocation = "opp"; 
     sliders =   (
         { 
       NAme1 = hai; 
       Name2 = "apple"; 
       Name3 = "world"; 
       Name4 = "happiness"; 
      } 
     ); 
     Address = "northZone"; 
     Title3 = "hello world"; 
    }, 
     { 
     title= "hi"; 
     title2 = "welcome"; 
     FriendlyName = B325; 
     Id = 2; 
     MyLocation = "opp1"; 
     sliders =   (
         { 
       NAme1 = hai; 
       Name2 = "apple"; 
       Name3 = "world"; 
       Name4 = "happiness"; 
      } 
     ); 
     Address = "westZone"; 
     Title3 = "hello world"; 
    }, 

    title= "hi"; 
    title2 = "welcome"; 
    FriendlyName = B325; 
    Id = 3; 
    MyLocation = "opp"; 
    sliders =   (
        { 
      NAme1 = hai; 
      Name2 = "apple"; 
      Name3 = "world"; 
      Name4 = "happiness"; 
     } 
    ); 
    Address = "southZone"; 
    Title3 = "hello world"; 
}, 
'''''''''etc., 


NSMutableArray *resultArray = [json objectForKey:@"title"]; 

я хочу сохранить словарь строку в resultarray, но исполнение остановилось на приведенном выше этапе

Как я могу хранить значения словаря в массиве?

пожалуйста, помогите мне

+0

Вы пробовали метод [Object allValues] для объекта NSDictionary? – Mehdzor

+0

@Mehdzor да я пробовал, но не использовал И также мой полный код NSDictionary * resultsDict = [json valueForKey: @ "Title1"]; NSDictionary * selector = [json valueForKey: @ "ползунки"]; NSLog (@ "333333333% @", селектор); NSMutableArray * dictArray = [[NSMutableArray alloc] initWithObjects: selector, nil]; NSLog (@ "dictarray% @", dictArray); для (int i = 0; i <[dictArray count]; i ++) { NSString * str1 = [[dictArray objectAtIndex: i] valueForKey: @ "Name2"]; NSLog (@ "stringone is% @", str1);} но все значения хранятся в одной строке – kumar

ответ

0

На выходе вы показываете, это выглядит как ваш объект JSON уже массив словарей. Однако ваше заявление/вопрос для меня не имеет смысла, поэтому я не могу понять, чего вы действительно хотите.

Есть более модные способы получить доступ к данным, но это должно дать вам основную идею и, надеюсь, вы на своем пути ...

if ([json isKindOfClass:[NSArray class]]) { 
    // Your top-object is an array of objects. It can hold strings, numbers, 
    // arrays, dictionaries (and NSNull). 
} else if ([json isKindOfClass:[NSDictionary class]]) { 
    // your top level object is a dictionary 
} 

Отсюда, вы должны быть в состоянии проверить то, что вы иметь. Бьюсь об заклад, вы получаете множество словарей. В этот момент просто перебирайте массив верхнего уровня и запрашивайте каждый словарь для его содержимого.

0

попытка использовать этот код

NSMutableArray *resultArray = [[NSMutableArray alloc] init]; 
[resultArray addObject:[json objectForKey:@"title"]]; 
+0

i инициализируют мой массив в viewdidload. – kumar

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