ios - 在令牌 Swift 4 中检索单值键
问题描述
我在检索和显示单个令牌值时遇到问题,例如在信息令牌中显示 lastName。
这是我获取 API 用户配置文件的代码:
// get API and Bearer token
let token = HPWSLoginManager.shared().saveSuccessResponse.token
let url = URL(string: "http://51.38.36.76:40/api/v1/profile")
var request = URLRequest(url: url!)
request.httpMethod = "GET"
request.addValue("Bearer \(token!)", forHTTPHeaderField: "Authorization")
URLSession.shared.dataTask(with: request) { (data, response, error) in
guard let data = data else { return }
//get information in token
do {
let json = try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.mutableContainers) as! [String: AnyObject]
// print(json)
if let lastName = json["lastname"] as? [String] {
print(lastName)
}
} catch {
print("error")
}
}.resume()
我无法显示姓氏,但我以原始令牌检索信息,例如:
▿ 3 elements
▿ 0 : 2 elements
- key : "sub"
▿ value : 15 elements
▿ 0 : 2 elements
- key : emailaddress
- value :
▿ 1 : 2 elements
- key : secretcode
- value : $2a$10$IcNejUrpOk82mORSu4bQauLa12UP1dCjQ0y8hTLnEUl9otC.VLCCe
▿ 2 : 2 elements
- key : loginAttempts
- value : 0
▿ 3 : 2 elements
- key : lastname
- value : test
▿ 4 : 2 elements
- key : numberisverified
- value : 0
▿ 5 : 2 elements
- key : created_at
- value : 2018-07-11T14:38:29.266Z
▿ 6 : 2 elements
- key : _id
- value : 5b461665a6b67d046c42dc68
▿ 7 : 2 elements
- key : countrycode
- value : GN
▿ 8 : 2 elements
- key : firstname
- value : test
▿ 9 : 2 elements
- key : birthday
- value :
▿ 10 : 2 elements
- key : nationalformat
- value : 625 25 92 39
▿ 11 : 2 elements
- key : accountstatus
- value : PENDING
▿ 12 : 2 elements
- key : __v
- value : 0
▿ 13 : 2 elements
- key : internationalFormat
- value : +224 625 25 92 39
▿ 14 : 2 elements
- key : usernumber
- value : +224625259239
▿ 1 : 2 elements
- key : "exp"
- value : 1532706259
▿ 2 : 2 elements
- key : "iat"
- value : 1532702659
帮助我在我的应用程序中显示单个值lastName = test。
我有这个错误 在此处输入图像描述
解决方案
如果 let sub = json["sub"] as 这就是答案?[String:Any],让 lastName = sub["lastname"] 为?字符串 { 打印(姓氏) }
推荐阅读
- java - 如何通过 Jmeter 中的 beanshell 生成新的线程组
- javascript - 为什么我的表单数据值与提交的输入值不对应?
- stripe-payments - 如何在 Stripe 新结帐中添加否定行项目或等效折扣?
- python - 使用带有自定义训练循环和 Tensorboard 的 TensorFlow Profiler
- swift - atal 错误:对类使用未实现的初始化程序“init()”
- portable-executable - 为什么我得到的PE文件的函数调用图(fcg)如此奇怪,或者我怎样才能得到fcg?
- javascript - 获取/设置 Word.Section 的标题“链接到上一个”属性?
- wagtail - 鹡鸰管理图像和文档标签
- python - Django:如何按时间戳对查询集进行分组
- mysql - MySQL中的Jasonarray查询