api没有使用alamofire显示序列化的json输出
Posted
技术标签:
【中文标题】api没有使用alamofire显示序列化的json输出【英文标题】:api is not displaying serialized json output using alamofire 【发布时间】:2018-03-26 15:10:21 【问题描述】:我创建了一个简单的登录屏幕,附带 loginViewController.swift。我有简单的登录 api。它在 post man web 服务上显示响应的 web 服务没有使用 alamofire 在 xcode 上显示序列化的 json 输出。如何从 url 获取序列化 json。
et url="http://192.169.201.32:9000//users/authenticate" ?the api is getting two parameters from username ="andrews" and password="admin2".
let url="http://192.168.100.11:9000//users/authenticate"
override func viewDidLoad()
super.viewDidLoad()
Alamofire.request(url, method: .post, parameters:["username":"andrews","password":"admin2"], encoding: JSONEncoding.default)
.responseJSON response in
/////is it correct way to enter the parameter??
print("abcsign in")
print(response)
//to get status code
if let status = response.response?.statusCode
switch(status)
case 201:
print("example success")
default:
print("error with response status: \(status)")
//to get JSON return value
if let result = response.result.value
let JSON = result as! NSDictionary
print("abcsign in 2")
print(JSON)
[self .boaderSetting()]
username_input.text = "andrews"
password_input.text = "admin2"
[self .login_now(username:"andrews", password:"admin2")]
let preferences = UserDefaults.standard
if preferences.object(forKey: "session") != nil
login_session = preferences.object(forKey: "session") as! String
check_session()
else
LoginToDo()
如何将序列化的 json 输出到 Ns 日志中?您可以从此链接下载项目。https://drive.google.com/file/d/1h3TMFkpyOdCB_SoLYdca5Jmh4vulL7t_/view?usp=sharing
【问题讨论】:
将 JSONEncoding 改为 URLEncoding 请发布response.result
的结果
打印(response.result)。 FAILURE 响应状态错误:404
【参考方案1】:
使用 URLEncoding 代替 JSONEncoding 将解决您的问题
【讨论】:
print(response) responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(Error Domain=NSCocoaErrorDomain Code=3840 "字符 2 周围的值无效。" UserInfo=NSDebugDescription=字符 2 周围的值无效。) ) abcsign in3 打印(response.result)。 FAILURE 响应状态错误:404以上是关于api没有使用alamofire显示序列化的json输出的主要内容,如果未能解决你的问题,请参考以下文章
使用 Alamofire 和 Swift 3 反序列化复杂的 JSON