JSON
- json是一种轻量级的数据格式,一般用于数据交互
- 服务器返回给客户端的数据,一般是JSON或者XML格式(文件下载除外)
JSON的格式很像OC中的字典和数组
{“name”:"jack","age":"10"} {"name":["jack","rose","jim"]}
标准JSON格式的注意点:key必须要用双引号
要想从JSON中挖掘出具体的数据,得对JSON进行解析
JSON转换为OC数据类型
JSON | OC |
---|---|
大括号 {} | NSDictionary |
中括号 [] | NSArray |
双引号 "" | NSString |
数字 10,10.8 | NSNumber |
JSON的解析方案
第三方框架:JSONKit,SBJson
苹果框架原生(自带):NSJSONSerialization
NSJSONSerialization的常见方法
JSON数据转为OC对象
+(id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)
opt error:(NSError **)error;
NSDictionary *dic=[NSJSONSerialization JSONObjectWithData:data1
options:kNilOptions error:nil];
- 对象转为JSON
NSDictionary *jrDict=@{@"color":@"red",@"number":@20};
NSData * jrData=[NSJSONSerialization dataWithJSONObject:jrDict
options:kNilOptions error:nil];
NSString * jrString=[[NSString alloc]initWithData:jrData
encoding:NSUTF8StringEncoding];
客户端向服务器发送请求,客户端传回NSData的JSON数据,后再转为OC对象的数据类型,再转化为模型(面向对象),传给客户端