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

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

一、JSON数据格式

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

时间: 2024-10-23 06:37:22

IOS 阶段学习第22天笔记(JSON数据格式)的相关文章

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

IOS学习(OC语言)知识点整理 一.XML数据格式介绍 1)概念:xml是extensible markup language扩展的标记语言,一般用来表示.传输和存储数据 2)xml与json目前使用比较广泛的两种网络传输数据格式 两者分别占比: 1. json:市场上占90%,轻量级的表示数据 2.xml:占10%,表示数据比较复杂 3)XML三种数据解析方法: 1.DOM解析:将整个xml数据加载到内存中,构造一个对象,从根结点开始一级一级的解析提取数据.缺点:如果数据大, 比较占内存,解

IOS阶段学习第四天笔记(循环)

    IOS学习(C语言)知识点整理笔记 一.分支结构 1.分支结构分为单分支 即:if( ){ } ;多分支 即:if( ){ }else{ }  两种 2.单分支 if表达式成立则执行{ }里的语句:双分支 if表达式不成立 则执行else{ }里面的语句 3.字符串的输出系统会从数组地址一直打印到字符 ‘\0’为止,如果没有正确初始化,可能会打印出数组外的信息 4.如果分支结构里面只有一条执行语句可省略外面的大括号{} . 二.开关语句 1.语句结构 :switch (参数) case

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

IOS学习(OC语言)知识点整理 一.OC中的字典 1)字典:是一个容器对象,元素是以键-值对(key-value)形式存放的,key和value是任意类型的对象,key是唯一的,value可以重复 2)OC中的字典有两种 1.不可变字典:NSDictionary,初始化后不能修改其内容 2.可变字典:NSMutableDictionary,初始化后可以修改其内容 二.NSDictionary 字典的操作 1)实例化方法创建字典对象 例如: 1 NSDictionary *dict1=[[NSD

IOS阶段学习第三天笔记(运算符)

                                         IOS学习(C语言)知识点整理笔记 1.运算符 一.算术运算符 1)表达式由变量.常量.运算符构成,有确定的类型和值 2)算术运算符包括: +(加),-(减),*(乘),/(除),%(模) 3)算术运算符优先级 括号()> * ,/ ,%  >+,- 4)%表示取余.取模  a%b 表示a除以b取余数 5)整数相除保留两位小数处理方法如: printf(“%.2f”,(float)14/9); 6)自增自减运算符

IOS 阶段学习第24天笔记(Block的介绍)

IOS学习(OC语言)知识点整理 一.Block 的介绍 1)概念: block 是一种数据类型,类似于C语言中没有名字的函数,可以接收参数,也可以返回值与C函数一样被调用 封装一段代码 可以在任何地方调用 block 也可以作为函数参数,以及函数返回值 2)Block 实例代码 1 //定义了一个block类型MyBlock,MyBlock类型的变量只能指向带两个int的参数和返回int的代码块 2 typedef int (^MyBlock)(int,int); 3 //定义一个函数指针 4

IOS阶段学习第21天笔记(ARC内存管理-Copy-代理)

IOS学习(OC语言)知识点整理 一.OC 中的ARC内存管理 1)ARC中释放对象的内存原则:看这个对象有没有强引用指向它 2)strong:强引用,默认情况下的引用都是强引用 3) weak:弱引用__weak 4)ARC环境下:与内存相关的代码都不能使用了,如果要在ARC环境下使用MRC内存管理代码 如: [super    delloc]  选中项目找到 Build Phases 菜单下的  Compile Sources 项 选中要转换的.m文件, 双击写入此行代码:-fno-objc

IOS阶段学习第18天笔记(归档与解归档操作)

IOS学习(OC语言)知识点整理 一.归档与解归档的操作 1)归档是一个过程,将一个或多个对象存储起来,以便以后可以还原,包括将对象存入文件,以后再读取 将数据对象归档成plist文件 2)plist文件中只能存放:NSString.NSDate.NSNumber.Bool.NSData.NSArray.NSDictionary 并且NSArray和NSDictionary中只能是以上的类型 3)归档存放时数据是什么类型,读取数据时就用什么类型的数据接收. 4)归档不能直接操作自定义对象类型的数

IOS 阶段学习第十天笔记(字符串操作)

IOS学习(C语言)知识点整理 一.字符串的操作 1)字符串的存储,字符数组,在堆里面申请内存空间. 实例代码: #include <stdlib.h> #include <string.h> int main(){ char str[100] = "hello world"; char *p = "hello world"; //*p ='H';//常量字符串不可以修改,p指向只读的地址 p = str; *p = 'H'; // prin

IOS阶段学习第16天笔记(Category、NSSet、NSIndexSet的操作)

IOS学习(OC语言)知识点整理 一.NSSet.NSMutableSet集合的介绍 1)NSSet.NSMutableSet集合,元素是无序的,不能有重复的值. 2)用实例方法创建一个不可变集合对象 例如: //宏定义 #define TOBJ(n) [NSNumber numberWithInt:n] NSSet *set1=[[NSSet alloc]initWithObjects:TOBJ(2),TOBJ(3),TOBJ(3),TOBJ(1),TOBJ(5), nil]; 2)用类方法创