You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Alamofire请求后解析json["description"]返回nil问题求助

解决Alamofire请求后JSON字段取值为nil的问题

嘿,我一眼就发现问题所在啦!你控制台打印的JSON结构里,description字段并不是直接在根节点下,而是嵌套在result这个对象里面的,你直接用json["description"]去取值,自然找不到对应的数据,所以返回了nil。

咱们来修改代码就能解决:

正确的取值方式

你需要先拿到result这个子对象,再从里面提取description字段,代码可以改成这样:

Alamofire.request("http://.../api/v1.8/set/order/", method: .get, parameters: params)
 .responseString { response in
 switch response.result {
 case .success(let value):
 print("value\(value)")
 var json = JSON(value)
 // 先获取result对象,再取description
 let result = json["result"]
 let nass = result["description"].string
 print("nass\(nass)")
 // 也可以直接链式调用简化代码
 // let nass = json["result"]["description"].string
 }
}

更安全的可选绑定写法

如果想让代码更健壮,避免因为JSON结构变化导致崩溃,还可以用可选绑定的方式来取值:

Alamofire.request("http://.../api/v1.8/set/order/", method: .get, parameters: params)
 .responseString { response in
 switch response.result {
 case .success(let value):
 print("value\(value)")
 let json = JSON(value)
 if let resultDict = json["result"].dictionary, let desc = resultDict["description"]?.string {
     print("description: \(desc)")
 }
 }
}

这样修改后,你就能正确拿到description的内容啦!

内容的提问来源于stack exchange,提问作者user9696953

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:53:41