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. [异常解决] MPU6050启动异常读出陀螺仪和加速度计的值全为0的解决办法

    在调试一个自己做的手环,每次用keil烧写好程序运行的蓝牙.陀螺仪都是正常的.但是掉电再上电之后蓝牙是好的.陀螺仪可以读出ID但是读出的加速度和角速度数据全为0. 下面是发生问题时main函数的前面部 ...

  2. [专业名词·硬件] 2、DC\DC、LDO电源稳压基本常识(包含基本原理、高效率模块设计、常见问题、基于nRF51822电源管理模块分析等)·长文

    综述先看这里 第一节的1.1简单介绍了DC/DC是什么: 第二节是关于DC/DC的常见的疑问答疑,非常实用: 第三节是针对nRF51822这款芯片电源管理部分的DC/DC.LDO.1.8的详细分析,对 ...

  3. js模版引擎handlebars.js实用教程——each-基本循环使用方法

    返回目录 <!DOCTYPE html> <html> <head> <META http-equiv=Content-Type content=" ...

  4. HTML5触屏版多线程渲染模板技术分享

    前言: 了解js编译原理的屌丝们都知道,js是单线程的,想当年各路神仙为了实现js的多线程,为了解决innerHTML输出大段HTML卡页面的顽疾,纷纷设计了诸如假冒的“多线程“实现,我自己也在写开源 ...

  5. ejs模板中的四种表达式输出形式

    在ejs模板中,通常会用下面四种方式在HTML中输出服务端的变量或表达式的值: 1. 直接在<%%>中写表达式或变量.这种情况通常只是用来进行表达式计算或给变量赋值,不会有任何输出,被称作 ...

  6. Git学习笔记(1)——安装,配置,创建库,文件添加到库

    初次接触git,为了记忆深刻,把学习的简单流程记录下来. 本文记录了Git在Ubuntu上的安装,配置,以及创建版本库和往库中添加文件的过程. 1.Git的安装:(Ubuntu-Linux非常友好的安 ...

  7. MyBatis入门学习(三)

    在实际开发中,我们希望文件配置是分类配置存放,需要的时候引入即可.如果多文件的配置混合配置使用,那么对项目的后期维护将增加难度. 一.对于连接数据库的配置单独放在一个properties文件中 1.对 ...

  8. java-面向对象练习2

    1.按要求编写Java应用程序: (1)编写西游记人物类(XiYouJiRenWu) 其中属性有:身高(height),名字(name),武器(weapon) 方法有:显示名字(printName), ...

  9. SSH框架详解

    1.什么是ssh? SSH对应 struts spring hibernate struts 采用MVC模式,主要是作用于用户交互 spring 采用IOC和AOP~作用比较抽象,是用于项目的松耦合 ...

  10. iOS-数据持久化-CoreData

    CoreData详解 介绍: 在Cocoa环境下,如果你想使用数据库(如sqlite),你可以使用sql语句的方式通过相关的工具类进行数据库的直接操作.当然你也可以通过别人封装之后的一些简单框架,使得 ...