任何人都知道如何序列化基于NSObject类的嵌套JSON?有一个讨论序列化简单的JSON here,但它不足以满足复杂的嵌套JSON。iOS:从NSObject类一般序列化/反序列化复杂的JSON
想象这是JSON的结果:
{ "accounting" : [{ "firstName" : "John",
"lastName" : "Doe",
"age" : 23 },
{ "firstName" : "Mary",
"lastName" : "Smith",
"age" : 32 }
],
"sales" : [{ "firstName" : "Sally",
"lastName" : "Green",
"age" : 27 },
{ "firstName" : "Jim",
"lastName" : "Galley",
"age" : 41 }
]}
从这节课:
@interface Person : NSObject{}
@property (nonatomic, strong) NSString *firstName;
@property (nonatomic, strong) NSString *lastName;
@property (nonatomic, strong) NSNumber *age;
@end
@interface Department : NSObject{}
@property (nonatomic, strong) NSMutableArray *accounting; //contain Person class
@property (nonatomic, strong) NSMutableArray *sales; //contain Person class
@end
/反序列化他们基于类一般如何序列化?
编辑
我目前能够产生有效载荷像这样基于任何类:
NSMutableDictionary *Payload = [self serialize:objClass];
但它并不满足嵌套复杂的JSON。任何人都有更好的解决方案? This library for C#cater基于对象类的serialize/deserialze。我想根据NSObject重现相同的东西
其中一种方法不是 - 继续处理NSDictionary对象而不是自定义类。这通常比你想象的更好。 – 2014-01-08 13:12:49
您可以随时向您的类'initWithJSONObject:error:'添加一个方法(例如,通过一个类别)。 – CouchDeveloper 2014-01-08 13:47:59
@CouchDeveloper - 'initWithDictionary'可能更通用。 (你可以包含'error:'parm,如果它是合适的。) – 2014-01-08 16:49:44