我已经转换为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?]转换为[AnyObject]
- 3. TimeZone问题swift3
- 4. 转换AnyObject?以字符串
- 5. Swift将AnyObject转换为块
- 6. AnyObject尝试转换为Equatable
- 7. Swift3 - '[String:AnyObject]'不能转换为'[HTTPCookiePropertyKey:Any]'
- 8. Swift3,如何在字典中添加AnyObject?
- 9. 从Swit2.3转换为Swift3原因
- 10. SWIFT3 JSON NSNull问题
- 11. Swift3迁移问题
- 12. 实现AnyObject到NSString问题
- 13. touchesBegin,touchesMoved和anyObject问题
- 14. Swift AnyObject - 向[AnyObject]向下转换协议数组
- 15. 转换问题
- 16. AnyObject是无法转换为字符串
- 17. 字符串转换为AnyObject在迅速
- 18. '(NSObject,AnyObject)'不能转换为'字符串'
- 19. 在[swift]中将[AnyObject]转换为[Int] 3
- 20. 无法将anyObject转换为字符串
- 21. FCM通知问题 - swift3
- 22. 问题与swift3中的MPRemoteCommandCenter
- 23. Swift3/Alamofire4迁移,需要把所有的元素“作为AnyObject”为[字符串:AnyObject]
- 24. XSLT转换问题
- 25. WPF转换问题
- 26. PDFSharp转换问题
- 27. 转换的问题()
- 28. css3转换问题
- 29. PHP转换问题
- 30. RMagick转换问题
发布实际的代码,而不是代码的图片。人们通常希望重现您的代码以尝试排除故障 – Takarii