object-c
方法-,聲明一個Book類和一個Author類,在Book類中有一個author屬性。
分別聲明-(id)initWithDict:(NSDictionary*)dict;和+(id)authWithDict:(NSDictionary*)dict;方法。
在Book類中和Author類的.m文件中實現-(id)initWithDict:(NSDictionary*)dict;和+(id)authWithDict:(NSDictionary*)dict;方法
測試結果
方法二、使用- (void)setValuesForKeysWithDictionary:(NSDictionary*)keyedValues;批量賦值,在Book .h的頭文件中可以這樣聲明-(void)setValue:(id)value forUndefinedKey:(NSString *)key;方法,并在.m文件里實現。
為了實現對嵌套json的處理,我們需要重寫-(void)setValue:(id)value forKey:(NSString *)key方法,并且實現-(void)setValue:(id)value forUndefinedKey:(NSString *)key方法,這樣當json中鍵值對多余模型類中的屬性時不至于直接crash
測試
swift實現
定義一個Student和Book類,Student類中有一個book屬性,在book類中實現了override func setValue(value: AnyObject?, forUndefinedKey key: String)方法,由于demo比較簡單直接上代碼
測試