1

接続はできていますが、天候配列から説明を取得できません。Array 内の Dictionary であるためです。

{"weather":
[{"id":801,"main":"Clouds","description":"few clouds","icon":"02n"}]}

温度の取得は次のように正常に機能します。

if let main = item["main"] as? NSDictionary {
            println("Main existe")
            if let temp = main["temp"] {
                println("Temp existe")
                weatherRequested.append(temp.stringValue)
            }
        }
4

3 に答える 3

3

Swift を使用した iOS でのデフォルトの JSON 解析は明らかに悪いものです。SwiftyJSONライブラリを使用することをお勧めします。それはそれを解析するのと同じくらい簡単になります...

let result = JSON(jsonResult)
let weatherDesc = result["weather"]["description"].stringValue
let weatherTemp = result["main"]["temp"].stringValue

それが役立つことを願っています!

于 2015-11-26T13:35:50.660 に答える
3

私は最終的に解決策を見つけました:

 if let item = jsonResult as? NSDictionary {

        if let weather = item["weather"] as? NSArray{
            if let value = weather[0] as? NSDictionary{
                if let description = value["description"] as? String{
                    weatherRequested.append(description)
                }
            }
        }
        if let main = item["main"] as? NSDictionary {
            if let temp = main["temp"] {
                weatherRequested.append(temp.stringValue)
            }
        }
    }

とにかく私を助けようとした人に感謝します!:)

于 2015-11-26T21:54:30.077 に答える