Swift - How to loop through NSDictionary

ios, json, nsdictionary, swift

Solution

Here is how you can process a given JSON:

let dataArray = result["data"] as NSArray;

print("Data items count: \(dataArray.count)")

for item in dataArray { // loop through data items
    let obj = item as NSDictionary
    for (key, value) in obj {
        print("Property: \"\(key as String)\"")
    }
}

Remarks:

Remember that you receive parsed objects as `NSDictionary` and when you iterate through the dictionary, order in which you receive properties may differ from the order in the original JSON.

Problem

Hi I'm currently learning Swift, and I wanted to extract data from a JSON Api, My Swift code looks like this. To be specific, I need to extract each and every key and its value,(for example: print the value of title, cover etc..) ``` //Json request var error: NSError? var raw = NSString.stringWithString("http://example.com/MovieAPI/api/v1/movies/") var api_url = NSURL.URLWithString(raw) let jsonData: NSData = NSData.dataWithContentsOfURL(api_url, options: nil, error: &error) let result = NSJSONSerialization.JSONObjectWithData(jsonData, options: nil, error: &error) as NSDictionary for val in result { for (var i=0; i < val.value.count; i++){ //println(val.value.valueAtIndex(3)) Not Working } } ``` and the structure of my JSON is ``` { data: [ { id: 2, title: "Hunger Games", cover: "http://example.com", genre: 2 } ] } ``` Help!

Original source

Related problems