gpt4 book ai didi

swift ,对象映射器 : path for nested array

转载 作者:行者123 更新时间:2023-11-28 06:57:04 26 4
gpt4 key购买 nike

我有来自 http://openweathermap.org/ 的 json ,它看起来像这样:

{
"coord": {
"lon": 4.85,
"lat": 45.75
},
"weather": [
{
"id": 803,
"main": "Clouds",
"description": "broken clouds",
"icon": "04d"
}
],
"base": "cmc stations",
"main": {
"temp": 278.988,
"pressure": 985.88,
"humidity": 92,
"temp_min": 278.988,
"temp_max": 278.988,
"sea_level": 1032.68,
"grnd_level": 985.88
},
"wind": {
"speed": 1.8,
"deg": 355
},
"clouds": {
"all": 80
},
"dt": 1445249394,
"sys": {
"message": 0.0037,
"country": "FR",
"sunrise": 1445234548,
"sunset": 1445273273
},
"id": 2996944,
"name": "Lyon",
"cod": 200
}

我使用 Alamofire 3.0 进行网络连接,使用 ObjectMapper 将 json 映射到模型,使用 AlamofireObjectMapper 扩展从请求而不是 json 中获取模型对象。现在我需要获取天气描述,但不知道如何为其编写路径。尝试了 ["weather.0.description"]、["weather.$0.description"],但这些都不起作用,我的天气描述为零。

这是我的模型:

class WCurrentWeather: Mappable {
var weatherDescription: String?
var tempriture: Double?
var clouds: Double?
var rain: Double?
var humidity: Double?
var pressure: Double?
var sunrise: NSDate?
var sunset: NSDate?

required init?(_ map: Map){

}

func mapping(map: Map) {
weatherDescription <- map["weather.0.description"]
tempriture <- map["main.temp"]
clouds <- map["clouds.all"]
rain <- map["rain.1h"]
humidity <- map["main.humidity"]
pressure <- map["main.pressure"]
sunrise <- (map["sys.sunrise"], DateTransform())
sunset <- (map["sys.sunset"], DateTransform())
}

}

和我的要求:

Alamofire.request(.GET, URL, parameters: params)
.responseObject { (response: WCurrentWeather?, error: ErrorType?) in
completionHandler(response, error)
}

有没有办法让它工作。提前致谢。

最佳答案

我已经 fork 了ObjectMapper , 并添加了这个功能,多亏了 Tristan Himmelman,它已经被合并了,所以现在你可以访问像这样的嵌套数组元素 map["weather.0.description"]

关于 swift ,对象映射器 : path for nested array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33211996/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com