您所在的位置:小祥子 » 编程 » IOS » 正文

IOS 阶段学习第22天笔记(JSON数据格式)

时间:2015-07-18 编辑:湖南金刚 来源:Cnblogs

IOS学习(OC语言)知识点整理

一、JSON数据格式

1)概念:json是一种网络数据传输格式,有值/对象:{“A”:1,”B”:”2”…}词典;对象的序列:[,,,,,]数组两种数据类型

2)URLWithString 将字符串网址封装成NSURL对象 例如:  

 NSString *urlStr=@"http://10.0.8.8/sns/my/user_list.PHP?number=20
 &page=";//get  post
 NSURL *url=[NSURL URLWithString:urlStr];

  

3)fileURLWithPath 将本地文件封装成NSURL的对象 例如:

 url=[NSURL fileURLWithPath:@“Users/kingkong/JsonFile/test.json”];

4)initWithContentsOfURL 用于同步请求网络上的json数据  例如:  

 NSData *json=[[NSData alloc]initWithContentsOfURL:url];

    

5)initWithData 将JSON数据解析成字符串  例如:

 NSString *strjson=[[NSString alloc]initWithData:json encoding:NSUTF8StringEncoding];
 NSLog(@"%@",strjson);

6)options:NSJSONReadingAllowFragments 可直接将json数据解析为字典对象 例如:       

 //读取文件内容(json格式的数据)
 NSData *jsonData=[[NSData alloc]initWithContentsOfFile:path];
 //直接将json数据解析为字典对象
 NSDictionary *dict1=[NSJSONSerialization JSONObjectWithData:jsonData options:
 NSJSONReadingAllowFragments error:nil];

7)获取网络图片数据并保存到本地(类似下载)实例代码   

 //获取服务器上的资源(图片数据)
 NSData *iconData=[NSData dataWithContentsOfURL:[NSURL URLWithString:iconUrl]];
 NSString *iconFile=[fullPath stringByAppendingPathComponent:@"icon.png"];
  //将图片数据写入文件(保存图片到文件中)
  [iconData writeToFile:iconFile atomically:YES];

8)获取JSON数据并遍历数据实例代码:  

 //请求的网络路径
 NSString *path=@"http://10.0.8.8/sns/my/user_list.php?number=20&page=";        
 //构造URL
 NSURL *url =[NSURL URLWithString:path]; 
 //请求获取JSON数据
 NSData *json=[[NSData alloc]initWithContentsOfURL:url];         
 //将JSON数据解析成对象
 id obj=[NSJSONSerialization JSONObjectWithData:json options:NSJSONReadingMutableContainers error:nil];
 //遍历JSON数据
 if ([obj isKindOfClass:[NSDictionary class]]) {
 NSDictionary *dict=(NSDictionary *)obj;
 NSArray *array=[dict objectForKey:@"users"];
 for (NSDictionary *dic in array) {
 NSLog(@"username:%@\tuid:%@",[dic objectForKey:@"username"],[dic objectForKey:@"uid"]);
 }
 }

  

9)将字典集合编码成JSON数据 实例代码   

  //构造字典数据
 NSArray *arry=@[@"pass1234",@"123456" ];
 NSDictionary *dic=[[NSDictionary alloc]initWithObjectsAndKeys:@"KingKong",@"username" ,@"男",@"sex",arry,@"password",nil];
 //将字典集合数据转换为JSON数据类型
 NSData *json=[NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:nil];
 //重新解析JSON数据
 NSString *strjson=[[NSString alloc]initWithData:json encoding:NSUTF8StringEncoding];
 NSLog(@"%@",strjson);

10)JSON解析工具Jason.app 【下载】 

  

11)NSDate OC中的日期函数操作【详情】

关键词:IOS 学习 笔记 JS 数据