Swift - 如何遍历NSDictionary

Mah*_*008 23 json nsdictionary ios swift

嗨,我正在学习Swift,我想从JSON Api中提取数据,我的Swift代码看起来像这样.具体来说,我需要提取每个键及其值,(例如:打印标题值,封面等).

//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
   }
}
Run Code Online (Sandbox Code Playgroud)

而我的JSON的结构是

{
  data: [
      {
        id: 2,
        title: "Hunger Games",
        cover: "http://example.com",
        genre: 2
       }
  ]
}
Run Code Online (Sandbox Code Playgroud)

救命!

Kee*_*nle 45

以下是处理给定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)\"")
    }
}
Run Code Online (Sandbox Code Playgroud)

备注:

请记住,NSDictionary在迭代字典时接收已解析的对象,接收属性的顺序可能与原始JSON中的顺序不同.