Tôi có MyModel kế thừa từ MTLModel (sử dụng vỏ GitHub Mantle). MyModel.hLàm thế nào để bỏ qua các giá trị null trong Từ điển JSON bằng Mantle?
#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
MyModel.m
#import "MyModel.h"
@implementation MyModel
+ (NSDictionary *)JSONKeyPathsByPropertyKey
{
return @{
@"UUID": @"id",
@"someProp": @"some_prop",
@"anotherProp": @"another"
};
}
}
@end
Bây giờ tôi muốn gửi JSON vào backend sử dụng AFNetworking. Trước đó, tôi chuyển đổi cá thể mô hình thành JSON NSDictionary để sử dụng như các tham số/tải trọng cơ thể trong yêu cầu của tôi.
NSDictionary *JSON = [MTLJSONAdapter JSONDictionaryFromModel:myModel];
Nhưng JSON này bao gồm các chuỗi "" lạ cho các thuộc tính của mô hình của tôi không có. Những gì tôi thay vì muốn là Mantle để bỏ qua các cặp khóa/giá trị này và chỉ nhổ ra một JSON với chỉ các thuộc tính không phải là nil hoặc NSNull.null, bất cứ điều gì.
Bạn có thể gửi mã đầy đủ cho MyModel? –
Tôi đã chỉnh sửa câu hỏi. Vì vậy, hãy tưởng tượng một API không hoàn toàn là RESTful. Vì vậy, khi tìm nạp dữ liệu của mô hình đó, "some_prop" sẽ không được phân phối, dẫn đến kết quả là không. Khi chuyển đổi mô hình này trở lại thành JSON, thuộc tính được dịch thành "some_prop": "" :( –
matths