如何在Swift中使用数组根解码JSON

时间:2019-10-18 01:44:27

标签: json swift parsing jsondecoder

我正在尝试解析从api请求获得的一些数据。问题是,所有值都没有标签。我想为每个值添加标签,以便以后在程序中引用标签。

struct dataSet : Codable {
    var variable1 : Int
    var variable2 : Double
    var variable3 : Double
    var variable4 : Double
    var variable5 : Double
    var variable6 : Double
    var variable7 : Double
    var variable8 : Int
}

struct firsBatch : Codable {
    var dataSet : [dataSet]
}

struct results : Codable {
    var firsBatch : firsBatch
    var last : Int
}

struct allData : Codable {
    var errors : [String]
    var results : results
}


//some api request code {...}


    do {
        let decoder = JSONDecoder()
        let parsedJSON = try decoder.decode(allData.self, from: data!)
        print(parsedJSON)
    } catch {
        print("JSON error: \(error.localizedDescription)")
    }

//数据样本

  

{“错误”:[],“结果”:{“ firsBatch”:[

     

[21,“ 93423.5”,“ 324.5”,“ 21.0”,“ 63.0”,“ 1253.0”,“ 12.34”,1],[42,“ 314.0”,“ 431.1”,“ 2341.0”,“ 67.1” “,” 6567.0“,” 0.8754“,4],[12,” 4312.1“,” 12.1“,” 43.1“,” 3432.1“,” 0.0“,” 123.432“,0],[422,” 23442.1“, “ 12.1”,“ 654.1”,“ 12.1”,“ 723.1”,“ 23.34521”,1]

     

],“ last”:64274}}

1 个答案:

答案 0 :(得分:0)

您有一个Variables数组,而不仅仅是一个Variables实例。因此,您的解码类型应为[Variables].self,而不是Variables.self

let parsedJSON = try decoder.decode(variables.self, from: data!)