从 JSON 创建数据模型
Creating a data model from JSON
我有一个 JSON 看起来像这样:
{
"club": [
{
"titles": "1",
"league": "epl",
"country": "england",
}
}
我创建了一个 属性 这样的:
@property (strong, nonatomic) NSMutableArray <Clubs> *club;
俱乐部 属性 继承自俱乐部 class,后者拥有冠军、联赛和国家/地区属性。
当我尝试使用该数据模型创建字典时,我无法访问俱乐部数组中的属性。
我是否错误地创建了数据模型?
正在创建字典:
for (NSDictionary *dictionary in responseObject) {
if (![self.searchText isEqualToString:@""]) {
self.predictiveProductsSearch = [[PerdictiveSearch alloc]initWithDictionary:dictionary error:nil];
self.predictiveTableView.dataSource = self;
[self.predictiveTableView reloadData];
self.predictiveTableView.hidden = NO;
}
}
俱乐部class
#import <JSONModel/JSONModel.h>
@protocol Clubs @end
@interface Clubs : JSONModel
@property (strong, nonatomic) NSString <Optional> * titles;
@property (strong, nonatomic) NSString <Optional> * league;
@property (strong, nonatomic) NSString <Optional> * country;
@property (strong, nonatomic) NSString <Optional> * topGS;
@property (strong, nonatomic) NSString <Optional> * GoalSc;
@property (strong, nonatomic) NSString <Optional> * TransferBudget;
@end
请使用以下代码实现JSON模型保存:
_club = [[NSMutableArray alloc]init];
NSDictionary *responseObject = @{
@"club": @[
@{
@"titles": @"1",
@"league": @"epl",
@"country": @"england"
}]
};
NSArray *newResponseObject = [responseObject objectForKey:@"club"];
for (NSDictionary *dictionary in newResponseObject) {
Clubs *objClubs = [[Clubs alloc]initWithDictionary:dictionary error:nil];
[_club addObject:objClubs];
}
NSLog(@"%@",[_club objectAtIndex:0]);
打印如下:
<Clubs>
[titles]: 1
[country]: england
[GoalSc]: <nil>
[league]: epl
[topGS]: <nil>
[TransferBudget]: <nil>
</Clubs>
我有一个 JSON 看起来像这样:
{
"club": [
{
"titles": "1",
"league": "epl",
"country": "england",
}
}
我创建了一个 属性 这样的:
@property (strong, nonatomic) NSMutableArray <Clubs> *club;
俱乐部 属性 继承自俱乐部 class,后者拥有冠军、联赛和国家/地区属性。
当我尝试使用该数据模型创建字典时,我无法访问俱乐部数组中的属性。
我是否错误地创建了数据模型?
正在创建字典:
for (NSDictionary *dictionary in responseObject) {
if (![self.searchText isEqualToString:@""]) {
self.predictiveProductsSearch = [[PerdictiveSearch alloc]initWithDictionary:dictionary error:nil];
self.predictiveTableView.dataSource = self;
[self.predictiveTableView reloadData];
self.predictiveTableView.hidden = NO;
}
}
俱乐部class
#import <JSONModel/JSONModel.h>
@protocol Clubs @end
@interface Clubs : JSONModel
@property (strong, nonatomic) NSString <Optional> * titles;
@property (strong, nonatomic) NSString <Optional> * league;
@property (strong, nonatomic) NSString <Optional> * country;
@property (strong, nonatomic) NSString <Optional> * topGS;
@property (strong, nonatomic) NSString <Optional> * GoalSc;
@property (strong, nonatomic) NSString <Optional> * TransferBudget;
@end
请使用以下代码实现JSON模型保存:
_club = [[NSMutableArray alloc]init];
NSDictionary *responseObject = @{
@"club": @[
@{
@"titles": @"1",
@"league": @"epl",
@"country": @"england"
}]
};
NSArray *newResponseObject = [responseObject objectForKey:@"club"];
for (NSDictionary *dictionary in newResponseObject) {
Clubs *objClubs = [[Clubs alloc]initWithDictionary:dictionary error:nil];
[_club addObject:objClubs];
}
NSLog(@"%@",[_club objectAtIndex:0]);
打印如下:
<Clubs>
[titles]: 1
[country]: england
[GoalSc]: <nil>
[league]: epl
[topGS]: <nil>
[TransferBudget]: <nil>
</Clubs>