gpt4 book ai didi

json - 解码错误——应该解码 Dictionary 但发现了一个数组

转载 作者:搜寻专家 更新时间:2023-10-31 19:32:05 24 4
gpt4 key购买 nike

我是 swift 编程和 Xcode 的新手,我尝试使用 Json 编码将数据库中的 mysql 数据调用到 Xcode。我能够成功调用所有数据(数组),但是当我决定只调用一个值(列)时,说 Courses.name 我得到“解码错误 - 预期解码字典但找到了一个数组。”我该如何解决这个问题?我的目标是只打印 courses.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"}]

周围的[]表示它是一个数组。使用以下代码解码,它应该可以工作:

let courses = try JSONDecoder().decode([Course].self, from: data)

如果您确定它永远是一门类(class),您可以:

print(courses.first!.name)

如果可能有很多类(class),你可以打印每个名字:

courses.forEach { course in print(course.name) }

关于json - 解码错误——应该解码 Dictionary<String, Any> 但发现了一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51866586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com