您的位置:首页 > 移动开发 > IOS开发

iOS 数据解析

2016-03-14 00:00 375 查看
摘要: iOS 数据解析主要有XML和JSON解析两种,用的最多的是JSON解析。JSON解析有两种方式:系统自带方法和一个第三方类(JSONKit)。本次主要总结JSON解析方法。

JSON解析:

一、系统自带方法

- (IBAction)JsonSerialization:(id)sender {
//模拟构造数据
NSString *path = [[NSBundle mainBundle] pathForResource:@"Json" ofType:@"txt"];
NSData *data = [[NSData alloc]initWithContentsOfFile:path];
//使用系统提供的类进行json转换
//最方便的是字典和数组,NSJSONReadingAllowFragments,可以使用KVC
NSArray *array = [NSJSONSerialization JSONObjectWithData:data options:(NSJSONReadingAllowFragments) error:nil];
//初始化数据
self.dataArray = [NSMutableArray array];
//遍历数组赋值
for (NSDictionary *dic in array) {
Person *p = [[Person alloc]init];
[p setValuesForKeysWithDictionary:dic];
[self.dataArray addObject:p];
}
//打印结果
for (Person *p in self.dataArray) {
NSLog(@"%@-%@-%@",p.name,p.sex,p.info);
}
}

说明:Person 是一个model模型,self.dataArray 保存解析的数据。

二、JSONKit

- (IBAction)JSONKit:(id)sender {
//模拟数据
NSString *path = [[NSBundle mainBundle] pathForResource:@"Json.txt" ofType:nil];
NSData *data = [NSData dataWithContentsOfFile:path];
//使用第三方类库进行解析
NSArray *array = [data objectFromJSONData];
//初始化数据
self.dataArray = [NSMutableArray array];
//遍历数组赋值
for (NSDictionary *dic  in array) {
Person *p = [[Person alloc]init];
[p setValuesForKeysWithDictionary:dic];
[self.dataArray addObject:p];
}
//打印结果
for (Person *p in self.dataArray) {
NSLog(@"%@-%@-%@",p.name,p.sex,p.info);
}
}

说明:需要导入第三方类库JSONKit的头文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据解析 JSON