Arrays Swift:从JSON编码的数据获取数组

Arrays Swift:从JSON编码的数据获取数组,arrays,json,swift,Arrays,Json,Swift,我有一个JSON编码的数据,我使用GCD下载。您可以通过此链接查看JSON的编码方式: 我想访问JSON中的每一个数据,但我无法实现。我尝试过这样做: let arrayData = try? JSONSerialization.jsonObject(with: data, options: []) 但在此之后,我不知道如何访问阵列上的所有数据。有什么想法吗?你可以试试 struct Root: Codable { let quizzes: [Quiz] let pageno:

我有一个JSON编码的数据,我使用GCD下载。您可以通过此链接查看JSON的编码方式:

我想访问JSON中的每一个数据,但我无法实现。我尝试过这样做:

let arrayData = try? JSONSerialization.jsonObject(with: data, options: [])
但在此之后,我不知道如何访问阵列上的所有数据。有什么想法吗?

你可以试试

struct Root: Codable {
    let quizzes: [Quiz]
    let pageno: Int
    let nextURL: String

    enum CodingKeys: String, CodingKey {
        case quizzes, pageno
        case nextURL = "nextUrl"
    }
}

struct Quiz: Codable {
    let id: Int
    let question: String
    let author: Author?
    let attachment: Attachment
    let favourite: Bool
    let tips: [String]
}

struct Attachment: Codable {
    let filename: String
    let mime: MIME
    let url: String
}

enum MIME: String, Codable {
    case imageJPEG = "image/jpeg"
}

struct Author: Codable {
    let id: Int
    let isAdmin: Bool?
    let username: String
}

你可以试试

struct Root: Codable {
    let quizzes: [Quiz]
    let pageno: Int
    let nextURL: String

    enum CodingKeys: String, CodingKey {
        case quizzes, pageno
        case nextURL = "nextUrl"
    }
}

struct Quiz: Codable {
    let id: Int
    let question: String
    let author: Author?
    let attachment: Attachment
    let favourite: Bool
    let tips: [String]
}

struct Attachment: Codable {
    let filename: String
    let mime: MIME
    let url: String
}

enum MIME: String, Codable {
    case imageJPEG = "image/jpeg"
}

struct Author: Codable {
    let id: Int
    let isAdmin: Bool?
    let username: String
}


您还可以通过以下方式使用上述本机解决方案(因为本机解决方案总是最好、最快的) 或 另一种解决方案是您可以使用

它是最好的json解析库之一,非常简单。 只需写一行:-

let user = Mapper<User>().map(JSONString: JSONString)
let user=Mapper().map(JSONString:JSONString)
您可以使用将json转换为模型


希望有帮助:)

您也可以通过使用上述本机解决方案(因为本机解决方案总是最好、最快的) 或 另一种解决方案是您可以使用

它是最好的json解析库之一,非常简单。 只需写一行:-

let user = Mapper<User>().map(JSONString: JSONString)
let user=Mapper().map(JSONString:JSONString)
您可以使用将json转换为模型


希望有帮助:)

JSON的根对象是一个字典,请注意
{}
。数组是键
测验的值。我们鼓励您使用
Decodable
。JSON的根对象是一个字典,请注意
{}
。数组是键
测验的值。我们鼓励您使用
可解码的
。这会给我错误提示“使用未声明的类型'Codable'/'CodingKey'”。我使用的是旧版本的Xcode。我刚刚下载了最新的,我可以使用它,谢谢你的回答!这给了我一些错误,比如“使用未声明的类型‘Codable’/‘CodingKey’”,我使用的是旧版本的Xcode。我刚刚下载了最新的,我可以使用它,谢谢你的回答!