OC语言基础十三:JSON数据,KVC键值编码

JSON

网络数据传输中,有2种数据格式最常用。JSON和xml数据。
JSON数据的数据结构简单,冗余数据少,网络数据传输的时候JSON数据比xml数据的传输快。但是JSON数据的结构相对简单,相比于xml来讲可读性要差一些。

JSON字符串

{}的是字典,[]的是数组
在这里插入图片描述
将上面几种,表示成清晰可见的格式。
字符串要用引号来引出,系统才能识别当前JSON数据的数据类型。基本数据类型不需要加引号,key value 之间用逗号隔开,最后一个key value不需要加引号。
在这里插入图片描述
嵌套,如数组种嵌套2个字典:
在这里插入图片描述

使用

能够转换成二进制json数据的对象都可以成为json对象,总共有2类,字典和数组。
json解析类:NSJSONSerialization

NSDictionary *jsonDict=@{@"name":@"Tom",
                          @"age":@20};
//json对象转换成二进制json数据
NSData *data=[NSJSONSerialization  dataWithJSONObject:jsonDict options:0  error:nil];//options一般都传0
NSLog(@"data:%@",data);

NSString *jsonString=@"{\"name\":  \"xiaohong\"}";//json字符串必须要合法 
//字符串转json数据
NSData *jsonData=[jsonString  dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *resultDict=[NSJSONSerialization JSONObjectWithData:jsonData  options:0 error:nil];//返回是一个id类型,如果知道具体是什么类型,可以具体些.
NSLog(@"result:%@",resultDict);

字符串是不可以直接转换成json对象的。

KVC键值编码

通过KVC键值编码,可以很方便的完成类中属性的赋值操作
在这里插入图片描述
在User.m文件中写一个没有对外公开的属性,可以用KVC在外部对该属性赋值。一般写在.m文件中,外部是不可以直接去访问的。
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值