NSObject クラスに基づいてネストされた JSON をシリアル化する方法を知っている人はいますか? 単純な JSON をシリアル化するための議論がここにありますが、複雑なネストされた 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 には対応していません。誰にもこれに対するより良い解決策がありますか? この C# ライブラリは、オブジェクト クラスに基づいてシリアライズ/デシリアライズを実行します。NSObjectに基づいて同じものを再現したい