Ios 快速解析来自怪异对象的数据(几乎是JSON)
我试图从一个我还没有在swift中看到的对象中获取数据。对象的类型为Ios 快速解析来自怪异对象的数据(几乎是JSON),ios,swift,Ios,Swift,我试图从一个我还没有在swift中看到的对象中获取数据。对象的类型为Any func getMetaData(_ callback: @escaping (Error?) -> ()) { guard let accessToken = self.credentials?.accessToken else { return callback(CredentialsManagerError.noCredentials) } Au
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]
和Any being(print(user)
):
我得到了user\u元数据
,得到了以下内容:
{
fname = abc;
lname = xyz;
}
这就是我最终想要实现的目标:
UserMetaData(fname: "abc", lname: "xyz")
它不完全是JSON,我不知道如何使用它,正如vasian所说,我将内部对象转换为一个dictonnary,提供了一个可选的
(fname:“abc”,lname:“xyz”)
,我可以使用它
typealias(Auth0标准)
typealias ManagementObject=[字符串:任意]
在SessionManager.getMetaData()中
self.metadata=(meta[“用户\元数据”]as!ManagementObject)
当我需要获取数据时
正如vasian所说,我将内部对象转换为一个dictonnary,为我提供了一个可选的
(fname:“abc”,lname:“xyz”)
,我可以使用它
typealias(Auth0标准)
typealias ManagementObject=[字符串:任意]
在SessionManager.getMetaData()中
self.metadata=(meta[“用户\元数据”]as!ManagementObject)
当我需要获取数据时
没有关于如何解析“奇怪对象”的教程/文档。请考虑使用IDE中支持的文件类型之一。此时的任何回答都是错误的,因为没有人知道他们正在处理什么类型的文件。它看起来像是标准集合类型的字典的
描述。似乎您的json不正确。它应该是这样的[{“user_metadata”:{“fname”:“abc”,“lname”:“xyz”}]。你可以在这个链接中查看你的json。没有关于如何解析“奇怪对象”的教程/文档。请考虑使用IDE中支持的文件类型之一。此时的任何回答都是错误的,因为没有人知道他们正在处理什么类型的文件。它看起来像是标准集合类型的字典的描述。似乎您的json不正确。它应该是这样的[{“user_metadata”:{“fname”:“abc”,“lname”:“xyz”}]。您可以在此链接中检查json。
UserMetaData(fname: "abc", lname: "xyz")
let firstName = SessionManager.shared.metadata!["fname"]! as! String
let lastName = SessionManager.shared.metadata!["lname"]! as! String