Ios 处理从yahoo weather检索的JSON数据时出错
我正在学习如何编写iOS代码,我正在尝试编写一个天气应用程序。我从yahoo weather检索到的JSON代码的一部分是:Ios 处理从yahoo weather检索的JSON数据时出错,ios,json,swift,Ios,Json,Swift,我正在学习如何编写iOS代码,我正在尝试编写一个天气应用程序。我从yahoo weather检索到的JSON代码的一部分是: `"forecast":[ { "code":"24", "date":"2 Mar 2015", "day":"Mon", "high":"39", "low
`"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("˚")
}`
我在处理没有“[”和“]”符号的数据块时没有任何问题。但我想不出这个。这个问题有解决办法吗 forecast:[…]表示您在字典中。该字典
项[“forecast”]
中预测键的值不是字典,而是数组。在JSON中,[]是一个数组,{}是一个字典
在您的示例中,forecast数组只包含一个字典项。要获得它,您可以尝试:
if let forecastArray = item["forecast"] as? NSArray {
if let forecast = forecastArray[0] as? NSDictionary {
}
}
[]表示它是数组而不是字典。forecast[0]将为您提供字典Yuse swiftjson,使其更加简单