我的 MyModel 继承自 MTLModel(使用 GitHub Mantle pod)。我的模型.h
#import <Mantle/Mantle.h>
@interface MyModel : MTLModel <MTLJSONSerializing>
@property (nonatomic, copy, readonly) NSString *UUID;
@property (nonatomic, copy) NSString *someProp;
@property (nonatomic, copy) NSString *anotherProp;
@end
我的模型.m
#import "MyModel.h"
@implementation MyModel
+ (NSDictionary *)JSONKeyPathsByPropertyKey
{
return @{
@"UUID": @"id",
@"someProp": @"some_prop",
@"anotherProp": @"another"
};
}
}
@end
现在我想使用 AFNetworking 将 JSON 发送到后端。在此之前,我将模型实例转换为 JSON NSDictionary 以用作我的请求中的参数/正文有效负载。
NSDictionary *JSON = [MTLJSONAdapter JSONDictionaryFromModel:myModel];
但是这个 JSON 由奇怪的“”字符串组成,用于我的模型的属性,它们是 nil。相反,我想要的是 Mantle 省略这些键/值对,而只是吐出一个 JSON,其中只有非 nil 或 NSNull.null 的属性,无论如何。