iOS学习之数据解析
//系统提供的解析JSON方法 - (void)handleSystemParser:(UIBarButtonItem *)item { //1.获取文件路径 NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Student" ofType:@"json"]; //2.根据文件路径初始化NSData对象 NSData *data = [NSData dataWithContentsOfFile:filePath]; //解析 NSArray *arr = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil]; NSLog(@"%@", arr); }
//第三方类库解析JSON方法(这里使用JSONKit) - (void)handleThirdPartParser:(UIBarButtonItem *)item { //将Json格式数据转化为OC对象(NSString对象)
//1.获取文件路径 NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Student" ofType:@"json"]; //2.根据文件路径初始化字符串对象 NSString *dataStr = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil]; //3.解析成OC对象.(可变对象/不可变对象) NSArray *arr1 = [dataStr objectFromJSONString]; NSArray *arr2 = [dataStr mutableObjectFromJSONString]; NSLog(@"%@",arr1); NSLog(@"%@", arr2);
}
当然,也可以解析成NSData对象,第一步的方法都一样,获取文件路径
- (void)handleThirdPartParser:(UIBarButtonItem *)item { //将Json格式数据转化为OC对象(NSData对象) //1.获取文件路径 NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Student" ofType:@"json"]; //根据文件路径初始化成NSData对象 NSData *data = [NSData dataWithContentsOfFile:filePath]; //解析.(可变/不可变) NSArray *arr1 = [data objectFromJSONData]; NSMutableData *arr2 = [data mutableObjectFromJSONData];
以上是将JSON数据转为OC的对象,下面是讲OC对象转为JSON数据的方法.
//将OC对象转成JSON格式数据. //1.将OC的数组对象转成JSON格式数据. NSArray *arr1 = @[@"aa",@"bb",@"cc",@"dd"]; NSData *jsonData1 = [arr1 JSONData];//转成JSON格式Data NSString *jsonStr1 = [arr1 JSONString]; //转成JSON格式String //2.将OC的字典对象转成JSON格式数据. NSDictionary *dic2 = @{@"name":@"Frank", @"age":@"18" }; NSData *jsonData2 = [dic2 JSONData];//转成JSON格式Data NSString *jsonStr2 = [dic2 JSONString];//转成JSON格式String
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。