2017-01-22 4 views
0

J'utilise JSONModel pour travailler avec un API JSON et maintenant coincé sur l'analyse d'un dictionnaire de dictionnaires.Parse un dictionnaire de dictionnaires en utilisant jsonmodel

{ 
    "locations": { 
    "one": { 
     "displayName": "Name One", 
     "description": "Description One" 
    }, 
    "two": { 
     "displayName": "Name Two", 
     "description": "Description Two" 
    } 
    } 
} 

Dans mon exemple, j'ai besoin des touches « un » et « deux » et leur contenu, donc je pensais à quelque chose comme ça

@protocol BaseDataModel; 

@interface BaseDataModel : JSONModel 

@property (nonatomic) NSDictionary<NSString *, LocationModel> *locations; 

@end 

Mais cela ne fonctionnera pas parce que LocationModel n'est pas un type Objective-C.

Répondre

1

Vous devez simplement créer la LocationModel de classe:

@interface LocationModel : JSONModel 

@property (nonatomic) NSString * displayName; 
@property (nonatomic) NSString * description; 

@end 
0

Vous manquez juste la déclaration de @protocol pour votre LocationModel Je pense que

#import "JSONModel.h" 

@protocol LocationModel; 
@interface LocationModel : JSONModel 

@property (nonatomic, retain) NSString *displayName; 
@property (nonatomic, retain) NSString *description; 

@end