Ios 如何在Swift 5中解析这个嵌套的json?
在iOS中,如何解析这个JSONIos 如何在Swift 5中解析这个嵌套的json?,ios,swift,xcode,swift5,Ios,Swift,Xcode,Swift5,在iOS中,如何解析这个JSON { "status": 1, "data": [ { "month": "8-2019", "jobs": [ { "jobId": 4, "jobTitle": "", "jobDesc": "", "jobDate": "26 Sep 2019", "jobVenue": "Singapore",
{
"status": 1,
"data": [
{
"month": "8-2019",
"jobs": [
{
"jobId": 4,
"jobTitle": "",
"jobDesc": "",
"jobDate": "26 Sep 2019",
"jobVenue": "Singapore",
"jobAccept": "N"
}
]
}
],
"message": "Success"
}
您可以使用类似于创建可编码类的服务。作为起点,您应该阅读更多关于 您可以使用以下代码来解析此JSON:
import Foundation
// MARK: - Root
struct Root: Codable {
let status: Int
let data: [Datum]
let message: String
}
// MARK: - Datum
struct Datum: Codable {
let month: String
let jobs: [Job]
}
// MARK: - Job
struct Job: Codable {
let jobID: Int
let jobTitle, jobDesc, jobDate, jobVenue: String
let jobAccept: String
enum CodingKeys: String, CodingKey {
case jobID = "jobId"
case jobTitle, jobDesc, jobDate, jobVenue, jobAccept
}
}
您可以使用以下代码将JSON转换为对象:
let root= try? JSONDecoder().decode(Root.self, from: jsonData)
显示您的代码您从何处复制此代码?我对此非常好奇,因为这不是第一次,所以我看到有人在回答中使用了奇怪的类
newJSONDecoder
。我已经发布了你问题的答案:结构是由quicktype
网站自动生成的。您只需发布JSON,它将生成解码所需的所有类/结构。很有用。对不起,你说得对。这似乎是生成的代码中的错误。应该是JSONDecoder
。现在我明白了。我通常只生成结构,而不生成代码的其余部分,但现在我对其进行了测试,发现newJSONDecoder实际上是一个由quicktype生成的函数,它返回一个解码器。这也意味着quicktype生成错误处理的可怕的try?