Aya*_*bar 14 null json core-data swift
我和Json玩了最后两天,面对很多好奇的问题,而且由于堆栈溢出,它对我很有帮助.这是json特色键具有两种类型的值String Type.
"featured":"1"
Run Code Online (Sandbox Code Playgroud)
要么
"featured": null,
Run Code Online (Sandbox Code Playgroud)
我尝试了很多来处理这个但失败了
if dict.objectForKey("featured") as? String != nil {
featured = dict.objectForKey("featured") as? String
}
Run Code Online (Sandbox Code Playgroud)
第2步)
let null = NSNull()
if dict.objectForKey("featured") as? String != null {
featured = dict.objectForKey("featured") as? String
}
Run Code Online (Sandbox Code Playgroud)
第3步)
if dict.objectForKey("featured") as? String != "" {
featured = dict.objectForKey("featured") as? String
}
Run Code Online (Sandbox Code Playgroud)
但不幸的是找不到解决办法,你的回答将不胜感激.
Cha*_*har 42
试试这个
func nullToNil(value : AnyObject?) -> AnyObject? {
if value is NSNull {
return nil
} else {
return value
}
}
object.feature = nullToNil(dict["feature"])
Run Code Online (Sandbox Code Playgroud)
在这里,您可以使用此方法,它将null值转换为nil并且不会导致应用程序崩溃.
你也可以用作?
object.feature = dict["feature"] as? NSNumber
Run Code Online (Sandbox Code Playgroud)
谢谢.
这是一个工作代码,类型转换操作符(作为?)将在这里做.Null不会被强制转换为String,因此执行将转到failure块.
if let featured = dict["featured"] as? String {
print("Success")
}
else {
print("Failure")
}
Run Code Online (Sandbox Code Playgroud)
尝试这个!
if let demoQuestion = dict.objectForKey("featured"){
let getValue: String = demoQuestion as! String
}
else {
print("JSON is returning nil")
}
Run Code Online (Sandbox Code Playgroud)