重点
数据解析:从某种格式的数据中提取自己所需要的数据。
主流的数据交换格式有两种:XML和JSON
JSON解析工具:JSONKit、NSJSONSerialization、TouchJSON和SBJSON等,其中NSJSONSerialization是系统提供的解析类,其解析效率是最高的
XML解析分为两种:SAX解析和DOM解析
XML解析工具:NSXMLParser、GDataXMLNode、TochXML和KissXML等
1.JSON数据结构
{
"reason":"success",
"result":[
{
"movieId":"42201",
"movieName":"红旗谱",
"pic_url":"http:\/\/v.juhe.cn\/movie\/picurl?2583536"
},
{
"movieId":"28678",
"movieName":"原色深海",
"pic_url":"http:\/\/v.juhe.cn\/movie\/picurl?2583539"
}
],
"error_code":0
}
2.使用Foundation进行JSON解析
JSONKit (还有SBJSON、 TouchJSON,可到GitHob调研)
Get:
1.在ARC工程中导入MRC的第三方类,我们选中工程->选中targets中的工程,再选中Build Phases的第二行在导入的类后面加入标记(-fno-objc-arc)->command+B
2.在MRC工程中导入ARC的第三方类,路径和上面一致,在该类后面加入标记(-fobjc-arc)->command+B
2.XML解析(DOM解析,SAX解析)
1.SAX解析
2.DOM解析
将xml结构画成树状结构
1.我们选中工程->选中targets中的工程-Build Setting->第三行+libxml2.tbd
2.再选中Build Phases的第二行在导入的类后面加入标记(-fno-objc-arc)->command+B
读取文件——————————
//读取文件总结,是先用mainBundle获取路径,然后用xxxWithContentsOfFile
//读取文本文件 [[NSBundle mainBundle] bundlePath]
NSString* path=[[NSBundle mainBundle] pathForResource:@"1" ofType:@"txt"];
NSError *error;
NSString* contenString=[NSString stringWithContentsOfFile:path
encoding:NSUTF8StringEncoding
error:&error];
if (nil==contenString) {
NSLog(@"error:%@", error);
return nil;
}
return contenString;
//读取plist xml文件
NSString *dataPath = [[NSBundle mainBundle]
pathForResource:@"Data" ofType:@"plist"];
self.data = [NSArray arrayWithContentsOfFile:dataPath];