Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 用swift遍历字典_Json_Swift_Nsdictionary_Xcode6.1 - Fatal编程技术网

Json 用swift遍历字典

Json 用swift遍历字典,json,swift,nsdictionary,xcode6.1,Json,Swift,Nsdictionary,Xcode6.1,我是swift新手,尝试调用生成JSON数据的web服务。其结构如下: { temp : [ { key1:value1 key2:value2 key3:value3 } { key1:value1 key2:value2 key3:value3 } { ke

我是swift新手,尝试调用生成JSON数据的web服务。其结构如下:

{
  temp : [
        {
           key1:value1
           key2:value2
           key3:value3
        }
        {
           key1:value1
           key2:value2
           key3:value3
        }
        {
           key1:value1
           key2:value2
           key3:value3
        }
      ]
}
我能够得到结果JSON。但是我怎样才能浏览这本词典呢。我想显示所有字典中的值2

任何帮助都将不胜感激

提前感谢

像这样:

let dictArray:[[String:String]] = [["k1":"v1" ,"k2":"v2", "k3":"v3"],     ["k1":"v1" ,"k2":"v2", "k3":"v3"]]
for dict in dictArray {
  for (key, val) in dict {
    if val == "v2" {
      println(key)
    }
  }
}

我猜您更想获取密钥的值,但您的问题有点误导。

想象一下这是我的本地json文件:

Json文件:

   {
  "temp" : [
            {
            "key1": "value1",
            "key2": "value2",
            "key3": "value3"
            },
            {
            "key1": "value1",
            "key2": "value2",
            "key3": "value3"
            },
            {
            "key1": "value1",
            "key2": "value2",
            "key3": "value3"
            }
            ]
}
解析JSON并打印“key2”值的代码

一些有用的链接:


祝你好运

我的完整json存储在一个变量中。那么,我怎样才能得到完整的临时密钥数组呢。正如在您的示例中一样,我不知道如何根据您的问题声明变量。也许你应该修改一下。我会使用一个JSON库来支持Swift。请尝试快速JSON:
var error: NSError?

   // get json data from local json file
    let jsonFilePath = NSBundle.mainBundle().pathForResource("MyFile", ofType: "json")!
    let jsonData = NSData(contentsOfFile: jsonFilePath)!


    let jsonObjects: AnyObject! = NSJSONSerialization.JSONObjectWithData(jsonData, options: NSJSONReadingOptions.MutableContainers, error: &error)

    let items: NSArray! = jsonObjects["temp"] as? NSArray

    for index in 0...items.count - 1  {
      let item = items[index] as NSDictionary
      println(item["key2"]!);
    }