Ошибка с NSJSONSerialization - Недопустимый тип в записи JSON (меню)

У меня есть приложение, использующее основные данные с 3 объектами с очень похожими атрибутами. Отношение такое:

Филиал -> Меню -> Категория -> FoodItem

У каждого объекта есть связанный класс: пример

enter image description here

Я пытаюсь сгенерировать JSON-представление данных в базе данных sqlite.

//gets a single menu record which has some categories and each of these have some food items
id obj = [NSArray arrayWithObject:[[DataStore singleton] getHomeMenu]]; 

NSError *err;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:obj options:NSJSONWritingPrettyPrinted error:&err];

NSLog(@"JSON = %@", [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]);

Но вместо JSON я получаю ошибку SIGABRT.

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid type in JSON write (Menu)'

Есть идеи, как это исправить или как сделать классы сущностей (филиал, меню и т. д.) совместимыми с сериализацией JSON?

51
задан Vaibhav Garg 27 March 2012 в 04:58
поделиться