这是我的Api链接look like this
[{"name":"KASHIF RAHAT ALI","id":67922,"gender":"Male","regNo":"21388-S","place":"KARACHI CITY","dept":"MEDICAL","fName":"RAHAT ALI QURESHI"},{"name":"SABOOHI","id":139148,"gender":"Female","regNo":"21388-P","place":"LAHORE","dept":"MEDICAL","fName":"MUHAMMAD SHAFI"},{"name":"SANA IKRAM","id":150168,"gender":"Female","regNo":"21388-N","place":"PESHAWAR","dept":"MEDICAL","fName":"IKRAMULLAH"}]
我要过滤上面的数组,并以4种不同的UILable格式打印数据。
姓名,性别,手机号码,PMDC号码和区域
下面的代码可以像这样在控制台中打印数据。
[jsonparsing_Example.Course(name: "KASHIF RAHAT ALI"), jsonparsing_Example.Course(name: "SABOOHI"), jsonparsing_Example.Course(name: "SANA IKRAM")]
在这里做东西
import UIKit
struct Course: Decodable {
let name: String
// let id: Int
//let place: String
//let dept: String
// let fName: String
}
class ViewController: UIViewController {
@IBOutlet weak var lbl1: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
let jsonUrlString = "http://54.171.95.38:8080/mhealth-webservice/aerapp/getPmdcDoctorByRegNo/21388"
//let jsonUrlString = "https://api.letsbuildthatapp.com/jsondecodable/courses"
// url session to fetch data from internet
guard let url = URL(string: jsonUrlString)
// else will return out of viewdid load
else {
return
}
URLSession.shared.dataTask(with: url) {(data, response, err) in
guard let data = data else {
return
}
do {
let courses = try JSONDecoder().decode([Course].self, from: data)
print(courses)
//lbl1.text = courses
// let btcValues = try JSONDecoder().decode(BitcoinResponse.self, from: data)
DispatchQueue.main.async {
// self.btcValue.text = "$\(btcValues.last)"
self.lbl1.text = "$\(courses)"
}
} catch let jsonErr{
print("Error serializaing json" , jsonErr)
}
print("Do stuff here")
}.resume()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
这里的任何人都可以如何帮助我根据我的要求修改代码,我们将不胜感激。 :)