json中null的处理
来源:互联网 发布:c语言 原版书 编辑:程序博客网 时间:2024/05/22 05:32
在服务器返回 json 数据的时候,时常会出现如下数据
"somevalue":null
这个时候,json 解析的时候,就会吧这个 null 解析成 NSNull 的对象,我们向这个 NSNull 对象发送消息的时候就会遇到 crash 的问题。
而且服务器返回数据中 null 值是不定的,我们也不太可能每个值都判断一遍[somevalue isKindOfClass:[NSNull class]]
下面教大家两种方法:
AFNetworking
如果你使用了 AFNetworking,只需要增加如下代码
((AFJSONResponseSerializer *)manager.responseSerializer).removesKeysWithNullValues = YES;
经过如上设置,所有 NSNull 的值,都变成了 nil,接下来又可以愉快的玩耍了。
没有 AFNetworking
没有使用 AFN 也没关系,我们需要的只是向 NSNull 发消息不崩溃,已经有人实现了这个功能了
NullSafe
你只需要引入这个库,什么都不需要做,当你再向 NSNull 对象发消息的时候,就不会 crash 了。
这里还有一个极简的封装方法:
#import "NSNull+OVNatural.h"@implementation NSNull (OVNatural)- (void)forwardInvocation:(NSInvocation *)invocation{if ([self respondsToSelector:[invocation selector]]) {[invocation invokeWithTarget:self];}}- (NSMethodSignature *)methodSignatureForSelector:(SEL)selector{NSMethodSignature *sig = [[NSNull class] instanceMethodSignatureForSelector:selector];if(sig == nil) {sig = [NSMethodSignature signatureWithObjCTypes:"@^v^c"];}return sig;}@end
关于[NSMethodSignature signatureWithObjCTypes:“@^vc”]
的功能
可以参考以下两篇文章
Objective-C Runtime Programming Guide
Type Encodings
0 0
- json中null的处理
- JSON对null的处理
- java 处理json字符串中null值
- json中头疼的null
- 处理json中的null
- JSON解析 null处理
- Oracle中null的处理
- Oracle中null的处理
- springmvc处理返回的JSON数据中把NULL替换成空或者0的问题
- 关于json中null的问题
- 关于json中null的问题
- 关于json中null的问题
- iOS json解析遇到@"";@"<null>";null 处理
- 处理json数据返回null
- 处理json里的null值+NullSafe源码阅读
- 关于IOS开发中(null)与<null>的处理
- IOS开发中(null)与<null>的处理
- 关于IOS开发中(null)与<null>的处理
- 【图像处理】所谓的“快速积分图”,其实并不快
- DDoS态势报告 DDoS攻击两极分化
- hdu 5367 digger(线段树)
- Android 2D Graphics学习(二)、Canvas篇1、Canvas基本使用
- Leet——code 刷题_顺序
- json中null的处理
- MATLAB 求解符号表达式数值的方法:subs函数
- mac修改open files数目
- android在apk中获取root权限,并执行命令(改变文件权读写限)
- pdf如何转换成txt的方法分享
- 利用Jenkins+Gitlab搭建持续集成(CI)环境
- [ReactNative入门到精通]React Native概述
- Linux 下监测网速的测试接口 --已经测试单位为byte=8bit
- 编程式事务