Lorsque j'analyse JSON, des données nulles et en double apparaîtront lors du parcours du contenu du dictionnaire vers le modèle lors de la dernière étape. Chaque étape précédente est correcte. J'ai également ce problème lorsque je teste l'API du propre serveur d'un ami. J'ai utilisé l'API de nouvelles dans Baidu APIStore et j'ai eu le même problème. Veuillez me dire ce que j'ai fait de mal. Merci de m'éclairer.
Ce qui suit est le code, utilisant AFNetworking, il y a 5 tableaux en JSON, et le bas est une capture d'écran de la console, utilisant une boucle for et un for in commenté, les deux ont le même problème
[manager POST:@"地址不便透露,抱歉" parameters:parameters progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
NSLog(@"成功");
if ([responseObject isKindOfClass:[NSDictionary class]]) {
NSArray *jData = [responseObject objectForKey:@"array"];
//NSLog(@"%@",jData);
for (NSDictionary * dict in jData)
{
NSArray * keys=[dict allKeys];
JKey * jKey=[[JKey alloc]init];
/*
for (NSString * str in keys) {
//对对象的属性一一赋值 KVC
[jKey setValue:[dict objectForKey:str] forKey:str];
if ([dict objectForKey:str] > 0) {
[self.testArray addObject:jKey];
}
}
*/
for (NSInteger i=0; i<keys.count; i++) {
[jKey setValue:[dict objectForKey:keys[i]] forKey:keys[i]];
NSLog(@"jKey=%@",jKey.coverpath);
}
}
}
Je l'ai essayé moi-même et ce n'était aucun problème d'attribuer les valeurs une par une
Essayez d'utiliser MJExtension
pour (NSInteger i = 0; i<array1.count; i++) {