我在'Dictionary'上创建了一个扩展来帮助我解析JSON。下面的方法可以帮助我做到这一点:
func toJSONString() -> String? {
if let dict = self as? AnyObject {
if let data = try? JSONSerialization.data(withJSONObject: dict, options: JSONSerialization.WritingOptions(rawValue: 0)) {
if let json = String(data: data, encoding: String.Encoding.utf8) {
return json
}
}
}
return nil
}
问题出现在这一行:
if let dict = self as? AnyObject {
我收到警告说“检查选项时使用的'AnyObject'类型的非可选表达式”
如何解决此问题?
答案 0 :(得分:2)
只需从代码中删除导致警告的行,然后按self
函数传递JSONSerialization
。这应该没有任何问题:
extension Dictionary {
func toJSONString() -> String? {
if let data = try? JSONSerialization.data(withJSONObject: self, options: JSONSerialization.WritingOptions(rawValue: 0)) {
if let json = String(data: data, encoding: String.Encoding.utf8) {
return json
}
}
return nil
}
}
答案 1 :(得分:1)
你正在打开尚未打开的东西。看一下这个stackoverflow post