Я преобразовал в Swift 3 и получил следующие ошибки при назначении AnyObject JSONSerialization.jsonObject. Кто-нибудь сталкивался с этой проблемой и знал об исправлении?JSONSerialization AnyObject Вопросы преобразования SWIFT3
-4
A
ответ
0
Поскольку последнее обновление Swift 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
}
Вы можете проверить статью от Apple Working with JSON in Swift
Также вы можете использовать некоторые из JSON синтаксического анализа/отображения libriaries например:
-1
Пожалуйста, замените let object : AnyObject
с let object : Any
.
Ошибка при неправильном литье.
Смежные вопросы
- 1. Swift3 JSONSerialization с [String: Any], а не NSDictionary
- 2. Пользовательские JsonSerialization
- 3. Ошибка JSONserialization
- 4. Ошибка компиляции в swift3: 'AnyObject' не является подтипом 'NSObject'
- 5. Ошибка Swift3: Тип 'NSFastEnumerationIterator.Element' (aka 'Any') не соответствует протоколу 'AnyObject'
- 6. Swift3 - '[String: AnyObject]' не конвертируется в '[HTTPCookiePropertyKey: Any]'
- 7. Response <AnyObject, NSError> необъявленный тип в Alamofire4/Swift3
- 8. Swift3/Alamofire4 миграции, имея сделать все элементы «как AnyObject» для [String: AnyObject]
- 9. Вопросы преобразования Юникода
- 10. Вопросы преобразования типа данных
- 11. Вопросы преобразования PostGIS
- 12. Вопросы матрицы преобразования
- 13. URLSession & JSONSerialization Swift 3
- 14. Swift: JSONSerialization SIGABRT ошибка
- 15. JSONSerialization и EXC_BAD_ACCESS
- 16. JSONSerialization with Swift 3
- 17. Реагировать Native JSONSerialization
- 18. Web.config jsonSerialization maxJsonLength игнорируется
- 19. QstringList to Qstring вопросы преобразования
- 20. Вопросы преобразования даты SQL Server
- 21. Преобразования координат и проекционные вопросы
- 22. Вопросы преобразования HQL в критерии
- 23. расширение преобразования электронной коммерции вопросы
- 24. Неоднозначное использование intValue Swift3
- 25. realm uniqueValueForObject Swift3
- 26. Невозможно установить jsonSerialization в Azure
- 27. JSONSerialization из пользовательского массива объектов
- 28. Установить метку из результата JSONSerialization
- 29. imageWithSize в Swift3
- 30. Swift3 - Неоднозначное использование Init
Опубликовать актуальный код, а не изображение кода. Люди часто хотят воспроизвести свой код, чтобы попытаться устранить его – Takarii