我使用jsonmodel来获取我的服务后的响应。现在问题是我的服务给了我一个字典数组的响应但是我不能映射数组,因为它没有被分配给任何键。
我有一个名为ContactsModel.h的JsonModel,它包含完美映射的所有参数标识符,但是我需要获取此模型的数组。 所以,我创建了另一个JsonModel,ContactListModel来保存它。
#import <JSONModel/JSONModel.h>
#import "ContactsModel.h"
@interface ContactListModel : JSONModel
@property(nonatomic, assign) NSArray<ContactsModel> *contacts;
@end
但是请注意,我的数组没有针对任何键分配。所以,我认为,这就是为什么它无法映射。
甘蔗有人请帮助我处理这种情况。
答案 0 :(得分:0)
希望这会有所帮助:
NSMutableArray *objects = [NSMutableArray new];
for(NSDictionary *dictionary in responseObject){
[objects addObject:dictionary];
//do your modeling
}
答案 1 :(得分: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){}];
我希望这能解决你的问题