Ваш метод отличает результат 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()