首页 > 学院 > 开发设计 > 正文

iOSJSON数据解析

2019-11-14 18:02:01
字体:
来源:转载
供稿:网友

JSON 是比较常用的数据格式,相比 xml 层次更清晰,这里介绍两种解析 JSON 的方式:NSJSONSerialization 和 JSONKit

NSJSONSerialization 是 iOS 5 以后推出的,比较好用的 JSON 解析包.

JSON 数据格式由对应的 '[',']' 和 '{','}',前者表示数组,后者表示字典.

NSJSONSerialization 解析过程:

1.获取文件路径

2.获取文件内容

3.解析

简单小例子:

 1 - (IBAction)parserJSON:(id)sender { 2      3     //获取文件路径 4      5     NSString *jsonPath = [[NSBundle mainBundle] pathForResource:@"Student" ofType:@"json"]; 6     NSError *error = nil; 7     NSData *jsonData = [NSData dataWithContentsOfFile:jsonPath]; 8     NSMutableArray *array = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error]; 9     if (error == nil) {10         NSLog(@"%@",array);11     }else {12         NSLog(@"%@",error);13     }14     15     //数据封装16     17     NSMutableArray *arr = [NSMutableArray array];18     19     for (NSDictionary *dic in array) {20         Student *stu = [[Student alloc]initWithDictionary:dic];21         [arr addObject:stu];22     }23     24     for (Student *stu in arr) {25         NSLog(@"%@",stu);26     }27 }

 

JSONKit 解析:(代码)

 1 - (IBAction)parserJSONWithJESONKIT:(id)sender { 2      3     //获取文件路径 4      5     NSString *jsonPath = [[NSBundle mainBundle] pathForResource:@"Student" ofType:@"json"]; 6     NSError *error = nil; 7     NSString *JSONStr = [[NSString alloc]initWithContentsOfFile:jsonPath encoding:NSUTF8StringEncoding error:&error]; 8     NSLog(@"%@",JSONStr); 9     //让jesonKIT 解析 JSON 数据10     NSMutableArray *array = [JSONStr objectFromJSONString];11     NSLog(@"%ld",array.count);12     //数据封装13     NSMutableArray *arr = [NSMutableArray array];14     15     for (NSDictionary *dic in array) {16         Student *stu = [[Student alloc]initWithDictionary:dic];17         [arr addObject:stu];18     }19     20     for (Student *stu in arr) {21         NSLog(@"%@",stu);22     }23 }

JSONKit.zip 下载


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表