dai*_*dai 2 null json objective-c ios
序列化JSON时,我有两种类型的null:(null)和<null>a的值NSDictionary.
有什么区别以及如何对每一个进行验证?
小智 5
如果这些是打印的描述NSLog(),那么(null)是一个nil或NULL指针,可能是调用objectForKey:未定义键的字典的结果.相反,<null>是一个实例NSNull; 可能是JSON解析器抛出的占位符,用于指示null原始JSON中的值.
您可以测试nil并NULL通过将对象与空指针进行比较(或者只是在期望逻辑表达式的上下文中使用它们):
if ([dict objectForKey:@"NonExistentKey"] != nil) {
// yay, existent!
}
Run Code Online (Sandbox Code Playgroud)
但是,它NSNull是一个正确的Objective-C类,因此它的实例将通过isEqual:消息进行比较:
if ([[dict objectForKey:@"KeyOfWhichValueIsNull"] isEqual:[NSNull null]]) {
// `null` in the JSON, but NOT `nil` or `NULL` at runtime!
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
117 次 |
| 最近记录: |