我是 swift 编程和 Xcode 的新手,我尝试使用 Json 编码将 mysql 数据从数据库调用到 Xcode。我能够成功调用所有数据(数组),但是当我决定仅调用一个值(列)(例如 Courses.name)时,我收到“解码错误 - 预期解码字典,但发现了一个数组”。我该如何解决这个问题?我的目标是仅打印 course.name
import UIKit
struct Course: Decodable {
let id: String
let name: String
let member: String
}
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let jsonUrlString = "http://oriri.ng/aapl/service.php"
guard let url = URL(string: jsonUrlString) 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.name)
} catch let jsonErr {
print("Error serializing json:", jsonErr)
}
}.resume()
}
}
[{"id":"1","name":"sobande_ibukun","member":"blue"}]
The []
around 表示它是一个数组。使用以下命令进行解码,它应该可以工作:
let courses = try JSONDecoder().decode([Course].self, from: data)
如果您确定这永远是一门课程,您可以这样做:
print(courses.first!.name)
如果可能有很多课程,您可以打印每个名称:
courses.forEach { course in print(course.name) }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)