JSon和Ambiguos使用下标

时间:2016-08-08 14:00:45

标签: ios json

我正在开发iOS应用程序 并使用最新的更新,我发现了这个错误:模糊地使用下标

代码:

let json: AnyObject = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers)
return (json[0]) as! NSDictionary

有什么解决方案吗? 谢谢。

1 个答案:

答案 0 :(得分:1)

由于您将json注释为AnyObject,因此编译器无法推断出类型,如果它是Dictionary(密钥订阅)或Array(索引)订阅)。这是歧义。

解决方案是将对象转换为正确的类型

let json = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as! [[String:AnyObject]]
return json[0]

PS:始终使用Swift本机集合类型。基金会NSArrayNSDictionary不包含类型信息,大多数情况下都不需要选项.MutableContainers