iOS学习(OC语言)知识点整理
一、JSON数据格式
1)概念:json是一种网络数据传输格式,有值/对象:{“A”:1,”B”:”2”…}词典;对象的序列:[,,,,,]数组两种数据类型
2)URLWithString 将字符串网址封装成NSURL对象 例如:
1NSString *urlStr=@"http://10.0.8.8/sns/my/user_list.php?number=202&page=";//get post3NSURL *url=[NSURL URLWithString:urlStr];
3)fileURLWithPath 将本地文件地址封装成NSURL的对象 例如:
1url=[NSURL fileURLWithPath:@“Users/kingkong/JsonFile/test.json”];
4)initWithContentsOfURL 用于同步请求网络上的json数据 例如:
1NSData *json=[[NSData alloc]initWithContentsOfURL:url];
5)initWithData 将JSON数据解析成字符串 例如:
1NSString *strjson=[[NSString alloc]initWithData:json encoding:NSUTF8StringEncoding];2NSLog(@"%@",strjson);
6)options:NSJSONReadingAllowFragments 可直接将json数据解析为字典对象 例如:
1//读取文件内容(json格式的数据)2NSData *jsonData=[[NSData alloc]initWithContentsOfFile:path];3//直接将json数据解析为字典对象4NSDictionary *dict1=[NSJSONSerialization JSONObjectWithData:jsonData options:5NSJSONReadingAllowFragments error:nil];
7)获取网络图片数据并保存到本地(类似下载)实例代码
1//获取服务器上的资源(图片数据)2NSData *iconData=[NSData dataWithContentsOfURL:[NSURL URLWithString:iconUrl]];3NSString *iconFile=[fullPath stringByAppendingPathComponent:@"icon.png"];4//将图片数据写入文件(保存图片到文件中)5[iconData writeToFile:iconFile atomically:YES];
8)获取JSON数据并遍历数据实例代码:
1//请求的网络路径2NSString *path=@"http://10.0.8.8/sns/my/user_list.php?number=20&page=";3//构造URL4NSURL *url =[NSURL URLWithString:path];5//请求获取JSON数据6NSData *json=[[NSData alloc]initWithContentsOfURL:url];7//将JSON数据解析成对象8idobj=[NSJSONSerialization JSONObjectWithData:json options:NSJSONReadingMutableContainers error:nil];9//遍历JSON数据10if([obj isKindOfClass:[NSDictionaryclass]]) {11NSDictionary *dict=(NSDictionary *)obj;12NSArray *array=[dict objectForKey:@"users"];13for(NSDictionary *dicinarray) {14NSLog(@"username:%@\tuid:%@",[dic objectForKey:@"username"],[dic objectForKey:@"uid"]);15}16}
9)将字典集合编码成JSON数据 实例代码
1//构造字典数据2NSArray *arry=@[@"pass1234",@"123456"];3NSDictionary *dic=[[NSDictionary alloc]initWithObjectsAndKeys:@"KingKong",@"username",@"男",@"sex",arry,@"passWord",nil];4//将字典集合数据转换为JSON数据类型5NSData *json=[NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPRettyPrinted error:nil];6//重新解析JSON数据7NSString *strjson=[[NSString alloc]initWithData:json encoding:NSUTF8StringEncoding];8NSLog(@"%@",strjson);
10)JSON解析工具Jason.app 【下载】
11)NSDate OC中的日期函数操作【详情】