包含 JSON 数据的警报视图
Alert view with JSON data
我有一个从响应中获取的 JSON 数据。我想将数据显示到警报视图中。
1.this 是我的留言:
"error": {
"email": [
"The email has already been taken."
],
"phone": [
"The phone has already been taken."
]
}
我的Swift代码:
let errormessage = jsonObj.value(forkey: "error")
createAlert(title: "Try again" , message: errormessage as! String)
有人请帮助我如何在警报中显示错误消息,这将非常有帮助
不要在 swift 中使用 NSDictionary
。使用 [String:Any]
。获取字典的所有值并加入字符串数组。并以新行作为分隔符加入错误。
let jsonObj:[String: Any] = ["error": [
"email": ["The email has already been taken."],
"phone": ["The phone has already been taken."]]
]
if let errorMsgs = jsonObj["error"] as? [String: [String]] {
let errMsg = errorMsgs.values.map { [=10=].reduce("", +) }.joined(separator: "\n")
print(errMsg)
createAlert(title: "Try again" , message: errMsg)
}
您可以像这样解析您的 json:
func jsonSerializer() {
let jsonString = """
{
"error": {
"email": [
"The email has already been taken."
],
"phone": [
"The phone has already been taken."
]
}
}
"""
let data = Data(jsonString.utf8)
do {
if let json = try JSONSerialization.jsonObject(with: data) as? [String: Any] {
if let error = json["error"] as? [String: Any] {
if let email = error["email"] as? [String], email.count > 0 {
print(email[0])
// createAlert(title: "Try again", message: email[0])
}
if let phone = error["phone"] as? [String], phone.count > 0 {
print(phone[0])
// createAlert(title: "Try again", message: phone[0])
}
}
}
} catch let parseError {
print("parsing error: \(parseError)")
let responseString = String(data: data, encoding: .utf8)
print("raw response: \(responseString!)")
}
}
我有一个从响应中获取的 JSON 数据。我想将数据显示到警报视图中。
1.this 是我的留言:
"error": {
"email": [
"The email has already been taken."
],
"phone": [
"The phone has already been taken."
]
}
我的Swift代码:
let errormessage = jsonObj.value(forkey: "error") createAlert(title: "Try again" , message: errormessage as! String)
有人请帮助我如何在警报中显示错误消息,这将非常有帮助
不要在 swift 中使用 NSDictionary
。使用 [String:Any]
。获取字典的所有值并加入字符串数组。并以新行作为分隔符加入错误。
let jsonObj:[String: Any] = ["error": [
"email": ["The email has already been taken."],
"phone": ["The phone has already been taken."]]
]
if let errorMsgs = jsonObj["error"] as? [String: [String]] {
let errMsg = errorMsgs.values.map { [=10=].reduce("", +) }.joined(separator: "\n")
print(errMsg)
createAlert(title: "Try again" , message: errMsg)
}
您可以像这样解析您的 json:
func jsonSerializer() {
let jsonString = """
{
"error": {
"email": [
"The email has already been taken."
],
"phone": [
"The phone has already been taken."
]
}
}
"""
let data = Data(jsonString.utf8)
do {
if let json = try JSONSerialization.jsonObject(with: data) as? [String: Any] {
if let error = json["error"] as? [String: Any] {
if let email = error["email"] as? [String], email.count > 0 {
print(email[0])
// createAlert(title: "Try again", message: email[0])
}
if let phone = error["phone"] as? [String], phone.count > 0 {
print(phone[0])
// createAlert(title: "Try again", message: phone[0])
}
}
}
} catch let parseError {
print("parsing error: \(parseError)")
let responseString = String(data: data, encoding: .utf8)
print("raw response: \(responseString!)")
}
}