Теперь вы можете легко решить эту проблему, используя JSONModel . JSONModel - это библиотека, которая обобщенно сериализует / десериализует ваш объект на основе Class. Вы даже можете использовать не-nsobject для таких свойств, как int
, short
и float
. Он также может обслуживать вложенный комплекс JSON. Он обрабатывает проверку ошибок для вас.
Учитывая это JSON {"firstname":"Jenson","surname":"Button"}
Пример десериализации . в заголовочном файле:
#import "JSONModel.h"
@interface Person : JSONModel
@property (nonatomic, strong) NSString* firstname;
@property (nonatomic, strong) NSString* surname;
@end
в файле реализации:
#import "JSONModelLib.h"
#import "yourPersonClass.h"
NSString *responseJSON = /*from somewhere*/;
Person *person = [[Person alloc] initWithString:responseJSON error:&err];
if (!err)
{
NSLog(@"%@ %@", person.firstname, person.surname):
}
Пример сериализации . В файле реализации:
#import "JSONModelLib.h"
#import "yourPersonClass.h"
Person *person = [[Person alloc] init];
person.firstname = @"Jenson";
person.surname = @"Uee";
NSLog(@"%@", [person toJSONString]);