2016-07-02 215 views
1

我使用jsonmodel來映射我的服務後得到我的響應。現在我的服務給我的問題是作爲一個字典數組的反應,但我不能映射數組,因爲它沒有分配任何鍵。JsonModel映射問題

enter image description here

我有一個名爲JsonModel其中ContactsModel.h容納所有的參數標識符映射完美,但然後我需要採取這種模式的陣列。 所以,我創建了另一個JsonModel,ContactListModel來保存它。

#import <JSONModel/JSONModel.h> 
#import "ContactsModel.h" 

@interface ContactListModel : JSONModel 

@property(nonatomic, assign) NSArray<ContactsModel> *contacts; 

@end 

但請看,我的數組沒有分配任何鍵。所以,我認爲,這就是爲什麼它無法映射。

甘蔗人請幫助我處理這種情況。

+0

我看到你正在收到一系列字典作爲迴應,你面臨的是什麼問題? – Bharat

+0

有什麼錯誤?只是沒有數據? – Joshua

+0

響應對象是一個很酷的字典數組,但實際上該數組不是分配給任何鍵。所以,我不能做鍵值對。 – Natasha

回答

0

希望這有助於:

NSMutableArray *objects = [NSMutableArray new]; 

for(NSDictionary *dictionary in responseObject){ 
[objects addObject:dictionary]; 
//do your modeling 
} 
0

@natasha

我不認爲你可以使用JSONModel的方法arrayOfModelsFromDictionaries:

所以你的要求,你可以做這樣的事情:

NetworkRequest:<whatEverRequest> params:<whatEverParams> completion:(id response){ 

if([response isKindOfClass:[NSArray class]]){ 

    ContactListModel *list = [ContactListModel new]; 
    list.contacts = [ContactsModel arrayOfModelsFromDictionaries: response]; 
    // I just followed the jsonModel API. maybe latest version has initWithArray? 
} 

} error:(NSError *error){}]; 

我希望這能解決您的問題