繁体   English   中英

如何在 Swift 中解码具有数组根的 JSON

[英]How to decode a JSON with array root in Swift

我正在尝试解析从 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]

],"最后":64274}}

你有一个Variables数组,而不仅仅是一个Variables实例。 所以你的解码类型应该是[Variables].self ,而不是Variables.self

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM