iOS 阶段学习第22天笔记(JSON数据格式介绍)
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",@"" ];
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 阶段学习第22天笔记(JSON数据格式介绍)的更多相关文章
- iOS阶段学习第29天笔记(UITextField的介绍)
iOS学习(UI)知识点整理 一.关于UITextField的介绍 1)概念: UITextField 是用于接收用户输入的一个控件 2)UITextField 初始化实例代码: //创建一个UIt ...
- iOS阶段学习第28天笔记(UIView的介绍)
iOS学习(UI)知识点整理 一.关于UIVIew 的介绍 1)概念:UIView 是用于装载并展示各类控件的大容器,是iOS中所有UI控件的基类 2)UIView 初始化实例代码 UIView * ...
- iOS阶段学习第27天笔记(UIButton-UIImageView的介绍)
iOS学习(UI)知识点整理 一.关于UIButton的介绍 1)概念:UIButton 是一种常用的控件,通过点击触发相应的功能 2)UIButton 的几种常用的状态 1.UICon ...
- iOS阶段学习第35天笔记(Touch手势介绍)
一.Touch手势 1.利用手势实现UIButton移动效果 实例代码 1) 创建一个继承自UIButton的类 MyButton.h 代码实现 #import <UIKit/UIKit.h ...
- iOS 阶段学习第23天笔记(XML数据格式介绍)
iOS学习(OC语言)知识点整理 一.XML数据格式介绍 1)概念:xml是extensible markup language扩展的标记语言,一般用来表示.传输和存储数据 2)xml与json目前使 ...
- iOS阶段学习第四天笔记(循环)
iOS学习(C语言)知识点整理笔记 一.分支结构 1.分支结构分为单分支 即:if( ){ } ;多分支 即:if( ){ }else{ } 两种 2.单分支 if表达式成立则执行{ }里的语句:双 ...
- iOS 阶段学习第四天笔记(循环)
iOS学习(C语言)知识点整理笔记 一.分支结构 1.分支结构分为单分支 即:if( ){ } ;多分支 即:if( ){ }else{ } 两种 2.单分支 if表达式成立则执行{ }里的语句:双 ...
- iOS阶段学习第20天笔记(MRC内存管理)
iOS学习(OC语言)知识点整理 一.OC中的内存管理 1)概念:内存管理的对象为所有继承了NSObject的对象,对基本数据(如:int .float.double...)无效 OC中采用 ...
- iOS阶段学习第15天笔记(NSDictionary与NSMutableDictionary 字典)
iOS学习(OC语言)知识点整理 一.OC中的字典 1)字典:是一个容器对象,元素是以键-值对(key-value)形式存放的,key和value是任意类型的对象,key是唯一的,value可以重复 ...
随机推荐
- iOS UITableView行高自行扩展
myTableView.estimatedRowHeight = ; myTableView.rowHeight = UITableViewAutomaticDimension; 不需要实现 - (C ...
- EF架构~linq模拟left join的两种写法,性能差之千里!
回到目录 对于SQL左外连接我想没什么可说的,left join将左表数据都获出来,右表数据如果在左表中不存在,结果为NULL,而对于LINQ来说,要实现left join的效果,也是可以的,在进行j ...
- EF架构~CodeFirst生产环境的Migrations
回到目录 Migrations即迁移,它是EF的code first模式出现的产物,它意思是说,将代码的变化反映到数据库上,这种反映有两种环境,一是本地开发环境,别一种是服务器的生产环境,本地开发环境 ...
- Atitit.架构设计趋势 设计模式 ---微服务架构 soa
Atitit.架构设计趋势 设计模式 ---微服务架构 soa 什么是微服务架构?1 .微服务与SOA的关系 :微服务架架构师面向服务架构(SOA)的一种特定实现1 微服务与康威定律2 微服务的一些 ...
- java学习笔记--this 关键字的理解
彻底理解this 关键字的含义 this关键字再java里面是一个我认为非常不好理解的概念,:)也许是太笨的原因 this 关键字的含义:可为以调用了其方法的那个对象生成相应的句柄. 怎么理解这段话呢 ...
- iOS $299刀企业证书申请的过程以及细节补充(二)
上篇博客写的过程中,没有图,也没有相应的说明.这次再补充一些信息: 1.从 https://developer.apple.com/ios/enroll/dunsLookupForm.action 申 ...
- 为什么SQL语句Where 1=1 and在SQL Server中不影响性能
最近一个朋友和我探讨关于Where 1=1 and这种形式的语句会不会影响性能.最后结论是不影响. 虽然结论正确,但对问题的认识却远远没有解决问题的根本.实际上在T-SQL语句的书写过 ...
- Command /usr/bin/codesign failed with exit code 1
刚刚碰到相同的问题,自己解决了,很简单,profile冲突,(自己遇到的现象是之前的profile关联的certificate过期,然后重新生成 了certificate和更新了profile.但是是 ...
- php的几种运行模式CLI、CGI、FastCGI、mod_php
1.CLI:就是命令行,例如可以在控制台或者是shell中键入命令: php -f index.php 然后获取输出 2.CGI:以下是不同的说法与理解 公共网关接口”(Common Gateway ...
- jxl写入excel实现数据导出功能
@RequestMapping(params = "method=export", method = RequestMethod.GET) public void exportCo ...