在 Swift 中使用 Alamofire 5.0 获取 3 级深度 JSON 值

Posted

技术标签:

【中文标题】在 Swift 中使用 Alamofire 5.0 获取 3 级深度 JSON 值【英文标题】:Getting 3 level deep JSON values with Alamofire 5.0 in Swift 【发布时间】:2019-07-23 07:42:11 【问题描述】:

Alamofire 5.0 出于某种原因没有为我提供纯 JSON,但给了我一个 json 文件结构的变体。截图如下。

我设法从 json 中检索到一两层深的数据,但由于某种原因,其他属性的结构不同。

我设法检索了 ma​​in 对象内的 temp 值,但我无法从 获取 description天气 对象。

这是我的代码 - nametemp 正常,description 来自天气不起作用。

【问题讨论】:

请发布代码而不是代码截图 有很多related questions about parsing openweathermap 【参考方案1】:

天气是一个数组,所以你应该像这样得到它:

if let weather = JSON["weather"] as? [[String: Any]],
   let firstWeather = weather.first 
    data.description = firstWeather["description"] as! String

【讨论】:

太棒了!非常感谢!【参考方案2】:

那是因为天气是一个 JSON 数组,你应该像这样检索它

weather[0]["description"]

希望对你有帮助

【讨论】:

以上是关于在 Swift 中使用 Alamofire 5.0 获取 3 级深度 JSON 值的主要内容,如果未能解决你的问题,请参考以下文章

Alamofire 在 Swift 3、Xcode 8 中出现错误

使用 swift 在 Alamofire 中使用 CURL 命令

如何在 Swift / Alamofire 中使用 multipartFormData?

在 swift 中使用 alamofire 将参数作为原始数据发送

如何在swift中使用alamofire上传图库图片

在 swift 中使用 Alamofire 取消 api 请求