Type 'Any' Has no Subscript Members in xcode 8 Swift 3 [duplicate]
Try this:
let json = try JSONSerialization.jsonObject(with: data!, options:.allowFragments) as! [String:AnyObject]
Safe way:
do {
if let json = try JSONSerialization.jsonObject(with: data!, options:.allowFragments) as? [String:Any] {
print(json)
}
} catch let err{
print(err.localizedDescription)
}
You have to cast type Any
to Swift dictionary type [String:AnyObject]
.
Edit: Swift 3
In swift 3 the purpose of AnyObject
is more clarified. So more favourable Swift Dictionary type will be [String:Any]
.
Any
is an alias for any data type.AnyObject
is an alias for any data type derived from a class.
For more info visit: https://craiggrummitt.com/2016/09/16/any-vs-anyobject-vs-nsobject-in-swift-3/