我正在从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”}

最佳答案

使用CodableJSON响应解析为对象。

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"}}
"""

由于我们没有实际的DatafromAPI,我们将把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/

10-13 02:58