使用从雅虎天气检索的JSON数据处理错误

时间:2015-03-02 19:46:54

标签: ios json swift

我正在学习如何编写iOS代码,并且我正在尝试编写天气应用程序。我从雅虎天气检索的部分JSON代码是:

      `"forecast":[
              {  
                 "code":"24",
                 "date":"2 Mar 2015",
                 "day":"Mon",
                 "high":"39",
                 "low":"16",
                 "text":"Partly Cloudy/Wind"
              }
         ]`

但由于某种原因,代码的那部分有" ["和"]"在它的象征。因此,我的代码无法获取数据并将其存储在NSDictionary中。我用来获取数据的iOS swift代码是:

               `if let forecast = item["forecast"] as? NSDictionary{

                        let highDay: AnyObject = forecast["high"]!
                        let lowDay: AnyObject = forecast["low"]!


                        high = String(highDay as NSString)
                        self.high.extend("˚")
                        println(high)

                        low = String(lowDay as NSString)
                        self.low.extend("˚")
                    }`

我没有处理没有" ["和"]"符号。但我无法弄清楚这个。这个问题有没有解决方法?

1 个答案:

答案 0 :(得分:2)

预测:[...]表示您在字典中。该字典item["forecast"]中预测键的值不是字典,而是数组。在JSON中,[]是一个数组,{}是一个字典。

在您的示例中,预测数组仅包含作为字典的项目。为了得到它你可以尝试:

if let forecastArray = item["forecast"] as? NSArray {
    if let forecast = forecastArray[0] as? NSDictionary {
    }
}