首页 > 代码库 > NSJSONSerialization

NSJSONSerialization

 

余书懿

 

在iOS 5发布以后,苹果开始对Json的解析进行支持.

所以至此开始如果你的App只能支持iOS5以上时就考虑别用开源框架了.毕竟用系统的速度才是最快的.

一:将拿到的Json字符串 转换成 Object,使用如下代码

+ (id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error;  

 

三个参数,和一份返回值,现在每个分别介绍其作用和用法:

data :如果你拿到的是服务器返回过来的一个长字符串,那么需要先将NSString 转换成NSData,代码如下:

[@"{\"a\":\"b\"}" dataUsingEncoding:NSUTF8StringEncoding]  

 

官方注释里面提到:UTF-8是最好最快的执行转换方式.
options:

NSJSONReadingMutableContainers: 设置此参加那返回的对象是可以随时添加新的值,也就是 Mutable 类型的对象

NSJSONReadingMutableLeaves: 还不知道

NSJSONReadingAllowFragments:设置此参数那返回对象是不能再去动态修改的, 如:NSArray NSDictionary

error:如果出错,可以打印看看,虽然是英文的

return:返回的对象类型是由需要转换Json决定的,所以可能是 NSArray 也可能是 NSDictionary

NSJSONSerialization