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数据格式介绍)的更多相关文章

  1. iOS阶段学习第29天笔记(UITextField的介绍)

    iOS学习(UI)知识点整理 一.关于UITextField的介绍 1)概念: UITextField 是用于接收用户输入的一个控件 2)UITextField  初始化实例代码: //创建一个UIt ...

  2. iOS阶段学习第28天笔记(UIView的介绍)

    iOS学习(UI)知识点整理 一.关于UIVIew 的介绍 1)概念:UIView 是用于装载并展示各类控件的大容器,是iOS中所有UI控件的基类 2)UIView  初始化实例代码 UIView * ...

  3. iOS阶段学习第27天笔记(UIButton-UIImageView的介绍)

    iOS学习(UI)知识点整理 一.关于UIButton的介绍 1)概念:UIButton 是一种常用的控件,通过点击触发相应的功能 2)UIButton 的几种常用的状态        1.UICon ...

  4. iOS阶段学习第35天笔记(Touch手势介绍)

    一.Touch手势 1.利用手势实现UIButton移动效果  实例代码 1) 创建一个继承自UIButton的类 MyButton.h  代码实现 #import <UIKit/UIKit.h ...

  5. iOS 阶段学习第23天笔记(XML数据格式介绍)

    iOS学习(OC语言)知识点整理 一.XML数据格式介绍 1)概念:xml是extensible markup language扩展的标记语言,一般用来表示.传输和存储数据 2)xml与json目前使 ...

  6. iOS阶段学习第四天笔记(循环)

    iOS学习(C语言)知识点整理笔记 一.分支结构 1.分支结构分为单分支 即:if( ){ } ;多分支 即:if( ){ }else{ }  两种 2.单分支 if表达式成立则执行{ }里的语句:双 ...

  7. iOS 阶段学习第四天笔记(循环)

    iOS学习(C语言)知识点整理笔记 一.分支结构 1.分支结构分为单分支 即:if( ){ } ;多分支 即:if( ){ }else{ }  两种 2.单分支 if表达式成立则执行{ }里的语句:双 ...

  8. iOS阶段学习第20天笔记(MRC内存管理)

    iOS学习(OC语言)知识点整理 一.OC中的内存管理 1)概念:内存管理的对象为所有继承了NSObject的对象,对基本数据(如:int .float.double...)无效      OC中采用 ...

  9. iOS阶段学习第15天笔记(NSDictionary与NSMutableDictionary 字典)

    iOS学习(OC语言)知识点整理 一.OC中的字典 1)字典:是一个容器对象,元素是以键-值对(key-value)形式存放的,key和value是任意类型的对象,key是唯一的,value可以重复 ...

随机推荐

  1. 解决SQLSERVER数据库表被琐死!

    ) )     BEGIN   Exec (@spId)   FETCH NEXT FROM TmpCursor INTO @spId   END     CLOSE TmpCursor DEALLO ...

  2. Javascript模块化编程笔记

    最近在读阮一峰的博客http://www.ruanyifeng.com/blog/2012/10/javascript_module.html,随手记录一些重要笔记.  Javascript模块的雏形 ...

  3. Redis总结笔记(一):安装和常用命令

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/112.html?1455860824 一.redis简单介绍 redis是 ...

  4. 大叔也说Xamarin~Android篇~支付宝SDK的集成

    回到目录 首先做为支付宝SDK它提供了多种平台,网页版,wap版,IOS版,android版等等,今天主要说一下在xamarin里使用android平台的sdk的方法,在网上介绍这块的文章不多,大叔本 ...

  5. offsetTop,offsetHeight,clientHeight,scrollHeight,scrollTop区别

    这些高度相信很多同学都搞不清楚吧.这里我通过本地测试,发现了区别. 以聊天窗口为例. 元素(class='content')高度444px,其中上下padding分别是10px,margin为0.距离 ...

  6. lua的io操作文档

    2014-09-16~15:26:35 I/O库提供两种不同的方式进行文件处理1.io表调用方式:使用io表,io.open将返回指定文件的描述,并且所有的操作将围绕这个文件描述 io表同样提供三种预 ...

  7. [Spring框架] Spring中的 ContextLoaderListener 实现原理.

    前言: 这是关于Spring的第三篇文章, 打算后续还会写入AOP 和Spring 事务管理相关的文章, 这么好的两个周末 都在看code了, 确实是有所收获, 现在就来记录一下. 在上一篇讲解Spr ...

  8. Atitit 通过调用gui接口杀掉360杀毒 360卫士  qq保镖等难以结束的进程(javac# php )

    Atitit 通过调用gui接口杀掉360杀毒 360卫士  qq保镖等难以结束的进程(javac# php ) 1.1. 这些流氓软件使用操作系统os提供的普通api根本就杀不掉啊1 1.2. 使用 ...

  9. vuejs学习网站推荐

    vuejs学习网站推荐 https://coligo.io/

  10. 【WP 8.1开发】解决摄像头翻转问题(RuntimeApp篇)

    昨天,我非常马虎地给大家说了有关处理物理摄像头翻转的话题,今天,还是这个话题,而且内容不差,只是为了完整性,顺便也提供了运行时API的版本,其实实现起来与SL框架版本差不多,毕竟这两个框架都有不少AP ...