我正在从api获取json响应。我需要使用模型存储到变量中,如何存储?
struct StructLogin {
var status:String?
var contentarr = [content]()
}
struct content {
var AuthoToken:String?
var user_name:String?
var user_type:String?
}
let jsonResponse = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any]
StructLoginObj.status = jsonResponse!["status"] as? String
StructLoginObj.contentarr = contentArray
contentObj.AuthoToken = jsonResponse!["auth_token"] as? String
contentObj.user_name = jsonResponse!["user_name"] as? String
contentObj.user_type = jsonResponse!["user_type"] as? String
{“状态”:“200”,“内容”:{“用户类型”:“1”,“用户名”:“超级管理员”,“身份验证令牌”:“7500b440c0f8035e864e1541c650b888”}
最佳答案
使用Codable
将JSON
响应解析为对象。
struct Login: Codable {
var status: String?
var content:Content?
}
struct Content: Codable {
var auth_token:String?
var user_name:String?
var user_type:String?
}
以您提供的
JSON
响应为例。let str = """
{"status":"200","content":{"user_type":"1","user_name":"Super Admin","auth_token":"7500b440c0f8035e864e1541c650b888"}}
"""
由于我们没有实际的
Data
fromAPI
,我们将把str
转换为data
进行解析。if let data = str.data(using: .utf8) {
let login = try? JSONDecoder().decode(Login.self, from: data)
print(login)
}
关于ios - 如何将json响应存储到变量中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56292283/