gpt4 book ai didi

ios - 如何在 swift 中打印字典值数组

转载 作者:行者123 更新时间:2023-12-02 01:37:27 25 4
gpt4 key购买 nike

您好,我从后端获取 api 响应,如下所示。

这里我需要从以下[Any]类型中检索“userId”。

[{
"userId" : "5e633967c04aff49e5e22c5b",
"onlineStatus" : 1
}]

我尝试使用以下代码,但在我的情况下它给出了错误。

let data = Array(chatdataArray) as? [[String:Any]]
print(data)

最佳答案

首先使用 guard letif 将 Array[Any] 转换为字典数组 [[String: Any]]

guard let arrChatData = chatdataArray as? [[String: Any]] else { return }

print("User Id :: ", arrChatData[0]["userId"])

或者

使用模型通过 ObjectMapper 进行 API 响应用于 map 数据。

用法:

创建模型。

import Foundation
import ObjectMapper

//MARK: - ChatDetails
struct ChatDetails: Mappable {

var chatDataArray: [ChatDataArray]?

init?(map: Map) {}

mutating func mapping(map: Map) {

self.chatdataArray <- map["chatdataArray"]
}
}

//MARK: - ChatDataArray
struct ChatDataArray: Mappable {

var onlineStatus: Int?
var userId: String?

init?(map: Map) {}

mutating func mapping(map: Map) {

self.onlineStatus <- map["onlineStatus"]
self.userId <- map["userId"]
}
}

设置模型 map API 响应后。

if let responseDict = response as? [String: Any], responseDict.keys.count > 0 {
if let chatDetails = Mapper<ChatDetails>().map(JSON: responseDict) {

var arrChatList = chatDetails.chatdataArray
print("User ID :: ", arrChatList[0].userId)
}
}

关于ios - 如何在 swift 中打印字典值数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60575225/

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