Javascript Object Notation ,轻量级的数据交换格式,采⽤用完全 独立于语言的文本格式,被称为理想的数据交换语⾔
对于JSON数据解析我们有很多第三方工具 我们一般使用JSONKit他是通过给NSString ,NSData添加分类方式进行解析 在效率上仅次于系统提供的JSON解析
- (IBAction)JSONKitParser:(id)sender {
//1:获取文件路径
NSString *filePath = [[NSBundle mainBundle]pathForResource:@"Student" ofType:@"json"];
//2:读取文件内容
NSData *parserData = [NSData dataWithContentsOfFile:filePath];
//3:解析
NSArray *arr = [parserData objectFromJSONData];
//对象封装
//创建对象数组
NSMutableArray *stus = [NSMutableArray array];
//遍历数据数组
for (NSDictionary *dic in arr) {
//创建对象
Student *stu = [[Student alloc]init];
//赋值
[stu setValuesForKeysWithDictionary:dic];
//将对象放入数组
[stus addObject:stu];
[stu release];
}
}
- (IBAction)SystemParser:(id)sender {
//获取文件路径
NSString *filePath = [[NSBundle mainBundle]pathForResource:@"大众点评数据" ofType:@"json"];
//获取文件内容
NSData *data = [NSData dataWithContentsOfFile:filePath];
//解析
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
//获取businesses对应的商户数组
NSArray *businesses = [dic valueForKey:@"businesses"];
//获取第一个商户信息
NSDictionary *busines = [businesses firstObject];
//获取 类别数组categories
NSArray *category = [busines valueForKey:@"categories"];
//获取第一个元素 火锅
NSString *str = [category firstObject];
NSLog(@"%@",str);
}