我使用JSON在我的應用程序使用RestKit映射我的對象
在我的Android應用程序,我使用GSON到deserialise是來自服務器的JSON對象的所有時間。
我喜歡GSON什麼,是所有我需要做的是建立與給定屬性的POJO類和它們與Gson.fromJSON(JsonString, POJO.class);
自動映射,如果我想比什麼被命名爲不同的對象,他們從服務器到達,我只是添加註釋@SerializedName(「server'sName」)'
有沒有這樣的方式來做到這一點在RestKit
? 手動命名所有屬性似乎非常繁瑣? 如果我添加/刪除/重命名屬性?
目前這是我的課
@interface Test
@property (nonatomic,assign) int prop1;
@property (nonatomic, assign) NSString *prop2;
@end
這是我的JSON:
{ "prop1":10, "prop2":"test"}
這是我的映射
//map class component
RKObjectMapping *statsMapping = [RKObjectMapping mappingForClass:[Test class]];
[statsMapping addAttributeMappingsFromDictionary:@{@"prop1":@"prop1",@"prop2":@"prop2"}];
// Register our mappings with the provider using a response descriptor
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:responseMapping
method:RKRequestMethodGET
pathPattern:nil
keyPath:nil
statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
[objectManager addResponseDescriptor:responseDescriptor];
我想什麼是RestKit
映射到我的財產(如果它們都存在於JSON
和我的課程中),而不用命名
做我需要做的反射,或RestKit做到了嗎? –
RestKit反映了變量的數據類型,以確定在映射過程中需要什麼樣的翻譯,但它並沒有反映出存在哪些變量來知道要映射哪些變量 - 它需要告知哪些鍵名映射。 – Wain
爲什麼沒有RestKit創建一個「默認」映射方案,它依賴於要映射的變量的名稱,並且如果某些變量丟失,它們將保留爲零或丟棄,具體取決於它們的位置(JSONvsClass)? –