我已经转换为Swift 3,并在分配给AnyObject JSONSerialization.jsonObject时收到以下错误。有没有人遇到过这个问题,并知道修复?JSONSerialization AnyObject SWIFT3转换问题
-4
A
回答
0
自从上次斯威夫特3更新大部分的返回类型从AnyObject
改为Any
丧气的是不允许的,所以在这种情况下,你不得不使用显式转换。这意味着您应该制作几个guard
声明或使用可选链接if let
来定义每个必需的字段。如果可能,考虑使用map
,filter
,reduce
以使您的代码更优雅。例如:
guard
方式:
guard let object = try JSONSerialization.jsonObject(with: data) as? [[String: Any]] else { return nil }
guard let field1 = object[0]["field1_token"] as? [Any] else { return nil }
//do your thing
if let
方式:
if let object = try JSONSerialization.jsonObject(with: data) as? [[String: Any]],
let field1 = object[0]["field1_token"] as? [Any] {
//do your thing
}
您可能要检查苹果的文章Working with JSON in Swift
您也可以使用一些JSON解析/映射libriaries的像这些:
-1
请let object : Any
取代let object : AnyObject
。
由于错误铸造而显示错误。
相关问题
- 1. Swift3中的自定义转换问题
- 2. 转换AnyObject?到NSDate
- 3. 如何将[AnyObject?]转换为[AnyObject]
- 4. TimeZone问题swift3
- 5. 转换的NSString的NSDictionary - jsonserialization错误3840
- 6. 转换UnsafeMutableRawPointer到swift3
- 7. 无法转换为`AnyObject?`?
- 8. Swift将AnyObject转换为块
- 9. 'AnyObject'不可转换为ABRecordRef
- 10. AnyObject不能转换为UITableViewCell
- 11. 转换AnyObject?以字符串
- 12. AnyObject布尔转换为int
- 13. AnyObject尝试转换为Equatable
- 14. Swift3 - '[String:AnyObject]'不能转换为'[HTTPCookiePropertyKey:Any]'
- 15. Swift3,如何在字典中添加AnyObject?
- 16. Swift3迁移问题
- 17. SWIFT3 JSON NSNull问题
- 18. 转换Swift2 - > Swift3:任何错误
- 19. 从Swit2.3转换为Swift3原因
- 20. 实现AnyObject到NSString问题
- 21. touchesBegin,touchesMoved和anyObject问题
- 22. swift3将int转换为indexPath
- 23. 正在解析swift3中的问题
- 24. Swift AnyObject - 向[AnyObject]向下转换协议数组
- 25. FCM通知问题 - swift3
- 26. 问题与swift3中的MPRemoteCommandCenter
- 27. 转换问题
- 28. 转换问题
- 29. 转换问题
- 30. Swift3/Alamofire4迁移,需要把所有的元素“作为AnyObject”为[字符串:AnyObject]
发布实际的代码,而不是代码的图片。人们通常希望重现您的代码以尝试排除故障 – Takarii