如何在解码JSON内容时设置/复制Struct属性

问题描述 投票:0回答:1

我有一个结构可以解码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值。即使以后更改weightpureWeight也应该是来自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
    }
 }
ios swift iphone
1个回答
0
投票
您可以按照以下方式处理
© www.soinside.com 2019 - 2024. All rights reserved.