此问题已在此处有答案:
saving swifty json array to user defaults(4个答案)
两年前关闭。
我用Alamofire发了一个帖子。这是我使用端点从服务器获取数据的代码:
Alamofire.request("http://192.168.80.21:3204/api/auth/signin", method: .post, parameters: parameters,encoding: JSONEncoding.default, headers: nil).responseJSON {
response in
switch response.result {
case .success(let value):
let json = JSON(value)
print(json)
break
case .failure(let error):
print("Error :- \(error)")
}
}
}
这是我从服务器上得到的数据:
{
"accessToken" : "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NTIsInJvbGUiOjEsImlhdCI6MTYwMzg2ODUxNCwiZXhwIjoxNjAzOTU0OTE0fQ.y68w8XQfqFZDVgaxiuFuVCOqaI5e5vZ-SfoDB_Ctxro",
"role" : "admin",
"auth" : true
}
我想将响应保存到UserDefault以备将来使用。帮我把数据保存到Userdefault中,并检索和打印数据。
4条答案
按热度按时间lymgl2op1#
创建一个模型,一个符合
Codable
的结构并扩展
UserDefaults
现在您可以使用
auth(forKey:)
和set(_:forKey:)
直接读写Auth
示例。删除SwiftyJSON并更改Alamofire部分,将JSON解码为带有
JSONDecoder
的结构体读取示例写入
**更新:**同时Alamofire原生支持
Codable
vaqhlq812#
accessToken
你可以使用上面的函数。就像下面。
这里
Param:
data
是T
类型的泛型参数。所以这里你需要传递你从服务器得到的响应数据。(应为Codable
类类型)参数:
AuthUser
为要获取数据,请执行以下操作:
yx2lnoni3#
如果使用全局变量。您可以根据您的目的使用
save
方法,具体如下:alen0pnh4#
用户可以使用下面的函数代码将JSON模型数据保存到Userdefaults中
和从Userdefaults中检索数据使用此函数