我有一个结构可以解码json内容:
struct CustomResponse: Decodable {
var network: String
var weight: Int = 0
var pureWeight: Int
enum CodingKeys: String, CodingKey {
case network = "network"
case weight = "weight"
}}
我想设置从JSON解析为weight
属性的初始pureWeight
值。即使以后更改weight
,pureWeight
也应该是来自JSON响应的那个。
是否有一种简单的方法可以在不使用手动解码所有json内容的情况下一次(在解析之后)设置pureWeight
?
init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
...parsing all items one by one.
}
我使用了这段代码,但显然它总是返回权重的突变值:
var pureWeight: Int {
get {
return weight
}
}