Проблемы с автоформатированием Javascript

Ваш метод отличает результат JSON к массиву. Он отлично работает с URL-адресом, который возвращает массив, представленный как JSON, но он не работает с URL-адресом, который возвращает словарь, а не массив, представленный как JSON.

Хотя «стиль» возвращаемых значений выглядит одинаково, второй - словарь с одним товаром. Вероятно, вы хотите извлечь из него элемент "users", который является массивом.

Если вы не знаете, какой из двух URL-адресов вы получаете, вы можете попробовать оба стиля с помощью as? вместо as!:

let tmp : AnyObject! = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil)
if let arr = tmp as? Array<AnyObject> {
    json = arr
} else if dict = tmp as? [String: AnyObject] {
    json = dict["users"] as! Array<AnyObject>
} else {
    // Handle an error: the input was unexpected
}
tableView.reloadData()
0
задан user6708151 16 January 2019 в 22:40
поделиться