[英]How to set JSON output into UILabel in Swift 3.0 ?
我有這些JSON數據。
(
{
email = "b@p.com.my";
login = ID001;
pw = 1234;
},
{
email = "p@d.com.my";
login = ID002;
pw = 12345;
}
)
現在,我只能在x代碼輸出中打印myJSON值。
我的問題是,如何將每個JSON顯示到UILabel _email,_login,_pw?
有人說我需要將其存儲為變量並設置為UILabel,但我不知道該怎么做。 感謝有人可以幫助我解決這個問題。
ViewController.swift
import UIKit
class ViewController: UIViewController {
@IBOutlet var _email: UILabel!
@IBOutlet var _login: UILabel!
@IBOutlet var _pw: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string: "http://localhost/get.php")
let task = URLSession.shared.dataTask(with: url!) {
(data, response, error) in
if error != nil {
print("Error")
return
}
else {
if let content = data {
do {
let myJSON = try JSONSerialization.jsonObject(with: content, options: JSONSerialization.ReadingOptions.mutableContainers) as AnyObject
print(myJSON)
}
catch {}
}
}
}
task.resume()
}
}
謝謝。
編輯:在您打印myJSON的塊之后,請嘗試以下操作:
for eachItem in myJSON {
if let emailParsed = eachItem["email"] as? String {
print(emailParsed)
_email.text = emailParsed
}
}
此循環在所有詞典之間運行, 此解決方案可能對您有所幫助。 請通過它!
嗨,請嘗試這個
for i..0 < myJson.count {
let object = myJson[i] as AnyObject
if let emailParsed = myJSON["email"] as? String {
_email.text = emailParsed
}
}
已編輯
for i..0 < myJson.count {
let object = myJson[i] as [String : AnyObject]
if let emailParsed = myJSON["email"] as? String {
_email.text = emailParsed
}
}
這很簡單,因為您的json對象提供了一個字典數組,因此首先您必須從數組中獲取第一個對象,然后您可以獲取傳遞密鑰的字符串
override func viewDidLoad()
{
super.viewDidLoad()
let url = URL(string: "http://localhost/get.php")
let task = URLSession.shared.dataTask(with: url!)
{
(data, response, error) in
if error != nil
{
print("Error")
return
}
else
{
if let content = data
{
do {
let myJSON = try JSONSerialization.jsonObject(with: content, options:JSONSerialization.ReadingOptions.mutableContainers) as AnyObject
// print(myJSON)
for data in myJSON
{
let email = data.1["email"] as? String
_email.text = email
}
}
catch {}
}
}
}
task.resume()
}
}
對於連擊選項,您可以使用一些預定義的庫,例如swiftyJSON。 為了獲得最佳結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.