JSON

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

JSON字符串

{}的是字典,[]的是数组
OC语言基础十三:JSON数据,KVC键值编码
将上面几种,表示成清晰可见的格式。
字符串要用引号来引出,系统才能识别当前JSON数据的数据类型。基本数据类型不需要加引号,key value 之间用逗号隔开,最后一个key value不需要加引号。
OC语言基础十三:JSON数据,KVC键值编码
嵌套,如数组种嵌套2个字典:
OC语言基础十三:JSON数据,KVC键值编码

使用

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

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

NSString *[email protected]"{\"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键值编码,可以很方便的完成类中属性的赋值操作
OC语言基础十三:JSON数据,KVC键值编码
在User.m文件中写一个没有对外公开的属性,可以用KVC在外部对该属性赋值。一般写在.m文件中,外部是不可以直接去访问的。
OC语言基础十三:JSON数据,KVC键值编码
OC语言基础十三:JSON数据,KVC键值编码

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-16
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-06
  • 2022-12-23
  • 2022-12-23
  • 2021-11-07
  • 2022-12-23
  • 2021-04-11
相关资源
相似解决方案