Obj-C: преобразовать массив объектов в NSDictionary для использования с JSONRepresentation - PullRequest
2 голосов
/ 20 августа 2011

У меня есть NSMutableArray пользовательских объектов с различной информацией о них. Например, объект может содержать:

firstname
lastname
email

Я хотел бы иметь возможность добавить эти объекты в NSDictionary, чтобы я мог вызвать функцию SBJSON 'JSONRepresentation', и окончательный формат JSON будет выглядеть следующим образом:

{
    "Users" : [
               { "user1First" : "FirstName",
                 "user1Last"  : "LastName",
                 "user1Email" : "Email" },
               { "user2First" : "FirstName",
                 "user2Last"  : "LastName",
                 "user2Email" : "Email" },
               { "user3First" : "FirstName",
                 "user3Last"  : "LastName",
                 "user3Email" : "Email" }
               ]
}

1 Ответ

3 голосов
/ 20 августа 2011

Напишите dictionaryRepresentation для каждого из ваших пользовательских классов, которые возвращают словарь для этого конкретного объекта.Тогда вы можете сделать что-то вроде этого:

NSMutableArray *dictionaryArray = [NSMutableArray arrayWithCapacity:yourOtherArray.count];
for (id object in yourOtherArray) {
    [dictionaryArray addObject:[object dictionaryRepresentation]];
}
// not sure what SBJSON's function returns so I'm using id here
id JSONRepresentation = [dictionaryArray JSONRepresentation];
...