gpt4 book ai didi

ios - Swift 解析来自奇怪对象的数据(几乎是 JSON)

转载 作者:行者123 更新时间:2023-11-29 13:51:46 25 4
gpt4 key购买 nike

我正在尝试从一个我还没有快速看到的对象中获取数据。对象的类型是 Any

    func getMetaData(_ callback: @escaping (Error?) -> ()) {
guard let accessToken = self.credentials?.accessToken
else { return callback(CredentialsManagerError.noCredentials) }
Auth0
.users(token: accessToken)
.get(profile!.sub, fields: ["user_metadata"], include: true)
.start { (result) in
switch result {
case .success(let user):
print(user)
self.metadata = user
callback(nil)
case .failure(let error):
callback(error)
}
}
}

对象变成了字典[String:Any],其中包含任何存在(print(user)):

["user_metadata": {
fname = abc;
lname = xyz;
}]

我得到了 user_metadata 并得到了这个:

{
fname = abc;
lname = xyz;
}

这就是我最终想要实现的:

UserMetaData(fname: "abc", lname: "xyz") 

它不完全是 JSON,我不知道如何处理它

最佳答案

正如 vasian 所说,我将内部对象转换为字典,为我提供了一个我可以使用的 Optional(fname: "abc", lname: "xyz")!

类型别名(Auth0 标准)

typealias ManagementObject = [String : Any]

在 SessionManager.getMetaData() 中

self.metadata = (meta["user_metadata"] as!ManagementObject)

当我需要获取数据时

let firstName = SessionManager.shared.metadata!["fname"]! as! String
let lastName = SessionManager.shared.metadata!["lname"]! as! String

关于ios - Swift 解析来自奇怪对象的数据(几乎是 JSON),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59335603/

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