第三弹:JSON数据通讯格式

JSON 是现在比较流行的一种数据交换格式,尤其是在IOS5以后,苹果增加了对json操作的api,让我们对json的解析变得非常方便而且速度更快了。

但是由于json本身的限制,当要进行大量数据的交换时,使编码工作变得比较繁琐。所以一般轻量级的数据交换使用json,而要进行大量数据交换时,一般使用xml。虽然相较于json来说,xml的解析速度会慢上很多。

闲言少叙,附上json使用的简单方法:

{

........

NSURL *url = [NSURLURLWithString:@"xxxxxxxxx"];

NSError *error;

NSData *response = [NSURL ConnectionsendSynchronousRequest:[NSURL RequestrequestWithURL:url] returningResponse:nil error:nil];

NSDictionary *weatherDic = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves error:&error];

NSDictionary *weatherInfo = [weatherDic objectForKey:@"mytemp"];

NSLog(@"temp1:%@   temp2:%@   temp3:%@",[weatherInfo objectForKey:@"temp1"],[weatherInfo objectForKey:@"temp2"],[weatherInfo objectForKey:@"temp3"]);

}

输出结果:temp1:aaaaa   temp2:bbbbb temp3:ccccc

 

--------------------------------------------------------------------------------------------------------------------------------------------

附上匹配上面代码的json一般格式:

{"mytemp":{"temp1":"aaaaa","temp2":"bbbbb","temp3":“ccccc”}}

可以发现json的格式有点类似于键值对的形式每个"key":"value"

每一对{}里面是一个NSDictionary的值,NSDictionary 的值也可以是一个NSDictionary....

还有如"temp":[123,"ddddd"]   这种形式的,是一个键:temp 对应一个array的值,array里面包含了一个 123的整数,一个ddddd的字符串;

----------------------------------------------------

因为Json的API只有在IOS5以上的系统才可以使用,那早期的版本要使用JSON怎么办呢!?

这时候,我们可以使用第三方的开源库:TouchJson,SBJson,JSONKit等。

个人推荐使用JSONKit

好了写到这,吃午饭去了!

posted @ 2013-01-30 11:51  念苍生  阅读(399)  评论(0编辑  收藏  举报