我正在努力尋找一種將一些JSON映射到RestKit的方法。這就是我要找一個例子:RestKit:使用數組的動態嵌套屬性
"results":{
"Test1":[
{
"id":1,
"name":"Test 1 here.",
"language":"English",
"type: "Test1"
}
],
"Test2":[
{
"id":3,
"name":"Another test 2",
"language":"English",
"type":"Test2"
},
{
"id":8,
"name":"More test 2",
"language":"English",
"type":"Test2"
},
{
"id":49,
"name":"foo",
"language":"English",
"type":"Test2"
}
]
}
理想情況下,JSON將不包括「類型」爲重點的額外多餘的一層,但生活就是這樣。
我想RestKit返回下類型的「成果」 4個對象:
@interface Test : NSObject
@property (nonatomic, copy) NSNumber *testId;
@property (nonatomic, copy) NSString *testName;
@property (nonatomic, copy) NSString *testLanguage;
@property (nonatomic, copy) NSString *testType;
我試過,例如映射的不同組合:
RKObjectMapping *testMapping = [RKObjectMapping mappingForClass:[Test class]];
testMapping.forceCollectionMapping = YES;
[testMapping addAttributeMappingFromKeyOfRepresentationToAttribute:@"testType"];
[testMapping addAttributeMappingsFromDictionary:@{
@"(testType).id": @"testId",
@"(testType).name": @"testName",
@"(testType).language": @"testLanguage",
}];
但它仍然失敗,因爲它不是「類型」JSON鍵下的單個對象 - 它是一個Test對象的數組。
有沒有辦法在RestKit中表示這種映射?或者,如果沒有,能夠覆蓋一些回調函數,所以我可以使它工作?不幸的是,我無法更改來自服務器的JSON數據
是關鍵(的Test1,Test2的,...)任意的,或者是有一組已知的選擇? – Wain
不幸的是,它們是未知的。並且可以有任意數量的它們。 – ClemsonJeeper