ios中son解析中出现的问题

一:关于数组字典中的null
比如:

NSArray * array =     @[@{@"testKey1":@"testValue1"},@{@"testKey2":[NSNull null]}];

[[NSUserDefaults standardUserDefaults] setObject:array forKey:@"testKey"];
       ```
因为数组中字典有null,那么你沙盒本地化时候就会直接cr acrach


二:关于请求到的json数据
由于服务器返回的数据有些字段为空,那么json形式返回的数据就是

"value":null

而我们一般解析json数据都用第三方,那么通过第三方得到的数据

value=

这个数据类型不是nil也不是string,那么把这个数据解析成对象后,直接调用对象方法比如(length count)就会直接crash


那么解决方法

查看网上很多人都用

if([obj isKindofClass:[NSNull class]])

但是我还是觉得太麻烦,比如这种字段太多,那简直会折磨死人

于是乎,最后找到一个博客上说一歪果仁写了一个类别,真牛逼啊,大概意思就是:在运行时操作,把null转化为nil,至少nil是安全的,可以给nil对象发送任何小心不奔溃


地址:https://github.com/nicklockwood/NullSafe
只需把这个类别加入工程就可以,特别简单






你可能感兴趣的:(ios中son解析中出现的问题)