загружать данные из JSON в объект программно? - PullRequest
1 голос
/ 06 октября 2011

У меня есть данные из ответа JSON, которые я передаю в массив, как показано ниже

            originalPerson.firstname  = [memberData valueForKey:@"firstname"];
            originalPerson.lastname   = [memberData valueForKey:@"lastname"];                              
            originalPerson.address1   = [memberData valueForKey:@"address1"];

Есть ли способ обработать это в цикле, вместо того, чтобы печатать каждую строку? ТИА

Ответы [ 2 ]

2 голосов
/ 06 октября 2011

Если класс экземпляра originalPerson соответствует кодированию значения ключа (KVC), вы можете использовать что-то вроде

for (NSString* key in [NSArray arrayWithObjects:@"firstname", @"lastname", @"address1", nil]) {
    [originalPerson setValue:[memberData valueForKey:key] forKey:key];
}

или даже

for (NSString* key in [memberData allKeys]) {
    [originalPerson setValue:[memberData valueForKey:key] forKey:key];
}

если данные-члены являются словарём, и вы уверены (или проверяете это), что OriginalPerson обладает соответствующими свойствами. Я не знаю, как вы анализируете свой JSON, но я рекомендую SBJSON для цели C.

0 голосов
/ 06 октября 2011

Вы также можете

[originalPerson setValuesForKeysWithDictionary:memberData]

быть осторожным, чтобы memberData не содержал никаких ключей, которые не соответствуют атрибуту originalPerson, иначе среда выполнения вызовет исключение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...