如何使用控制台输出来使用 if 条件?
let myURL = URL(string: "http://www.digi.com/laravel_api_demo/api/demoapipost")
let request = NSMutableURLRequest(url: myURL!)
request.httpMethod = "POST"
let postString = "username=rahul"
request.httpBody = postString.data(using: String.Encoding.utf8)
let task = URLSession.shared.dataTask(with: request as URLRequest) { (data, response, error) in
guard let _: Data = data, let _:URLResponse = response, error == nil else {
print("error")
return
}
if let dataString = String(data: data!, encoding: String.Encoding(rawValue: String.Encoding.utf8.rawValue))
{
print(dataString)
}
}
task.resume()
如何使用此输出 {"status":"No"} 我想使用 if 条件使用状态值。
示例:
if status == "YES"
{
print("Entered")
}
else
{
print("Not Entered")
}
最佳答案
尝试将字符串转换为字典格式。
func convertToDictionary(from text: String) -> [String: String]? {
guard let data = text.data(using: .utf8) else { return nil }
let anyResult = try? JSONSerialization.jsonObject(with: data, options: [])
return anyResult as? [String: String]
}
let string1 = "{\"status\":\"No\"}"
let dictionary1 : [String : String] = convertToDictionary(from: string1)!
if dictionary1["status"] == "No"
{
print("No")
}
else
{
print("yes")
}
根据@moritz的建议,您拥有JSON数据
,因此您可以直接将数据
转换为数据
,而不是转换为String
[字符串:字符串]
if let respJSON = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as? [String : String]
{
if respJSON["status"] == "No"
{
print("No")
}
else
{
print("yes")
}
}
关于ios - 如何使用控制台输出来使用 if 条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48785633/