I\'m using NSJSONSerialization to parse JSON in a Swift application. However, the returned dictionary consists of a complicated, deeply nested structure, making it impractic
myDictionary["accounts"] might be an optional. Try: myDictionary["accounts"]?["active"]?
In Obj-C we could write,
cityName = myDictionary[@"photos"][@"region"][@"city"]
As several here have discovered, the above does not apply in Swift, at least it never has for me.
Here's how you do this in Swift for accessing three indices in an NSDictionary for a String,
let cityName = ((myDictionary!["photos"] as NSDictionary)["region"]! as NSDictionary)["city"]! as String`
I hope that in the next update to Swift all of that can be reduced to what we had in Obj-C.
Just grab a reference to your json data as an NSDictionary:
var dict: NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary
then you can reference it using subscripts:
var myValue: NSString = dict["level1"]["level2"]