Сериализация iOS JSON для классов на основе NSObject

Я хотел бы JSON-сериализовать свои собственные пользовательские классы. Я работаю в Objective-C/iOS5. Я хотел бы что-то сделать следующее:

Person* person = [self getPerson ]; // Any custom object, NOT based on NSDictionary
NSString* jsonRepresentation = [JsonWriter stringWithObject:person ];
Person* clone = [JsonReader objectFromJson: jsonRepresentation withClass:[Person Class]];

Кажется, что NSJSONSerialization (и несколько других библиотек) требуют, чтобы класс «человек» был основан на NSDictionary и т. д. Я хочу что-то, что будет сериализовать любой пользовательский объект, который я хочу определить (в пределах разумного).

Давайте представим, что Person.h выглядит так:

#import <Foundation/Foundation.h>
@interface Person : NSObject 
@property NSString* firstname;
@property NSString* surname;
@end

Я хочу, чтобы сгенерированный JSON для экземпляра выглядел примерно так:

{"firstname":"Jenson","surname":"Button"}

Мое приложение использует ARC. Мне нужно что-то, что будет сериализовать и десериализовать с использованием объектов.

Большое спасибо.

18
задан Journeyman 9 May 2012 в 11:17
поделиться