你试过地幔(https://github.com/Mantle/Mantle)? 您可以定义属性的类型的值你所期望:
@property (nonatomic, copy, readonly) NSURL *URL;
@property (nonatomic, copy, readonly) NSURL *HTMLURL;
@property (nonatomic, copy, readonly) NSNumber *number;
@property (nonatomic, assign, readonly) GHIssueState state;
@property (nonatomic, copy, readonly) NSString *reporterLogin;
@property (nonatomic, strong, readonly) GHUser *assignee;
@property (nonatomic, copy, readonly) NSDate *updatedAt;
然后你就可以知道哪个属性在此方法中JSONKeyPathsByPropertyKey匹配,如:
+ (NSDictionary *)JSONKeyPathsByPropertyKey {
return @{
@"URL": @"url",
@"HTMLURL": @"html_url",
@"number": @"number",
@"state": @"state",
@"reporterLogin": @"user.login",
@"assignee": @"assignee",
@"updatedAt": @"updated_at"
};
确保您的目标是一个MTLModel的子类,并符合MTLJSONSerializing协议,如下所示:
@interface GHIssue : MTLModel <MTLJSONSerializing>
我还没试过。但是从扫描Github页面,我可以看到Mantle是如何比JSONModel更好的映射器。事情是,它仍然基本上只是一个映射器。我肯定会去看看,谢谢! – keyboardsamurai