我有一个结构体,其中填充有从基于 REST 的 API 返回的网络对象类型。我遇到的问题是,对于某些网络调用,返回的对象可能不包含结构中的所有对象参数,并且类不会初始化:
示例:
struct Rebate: Codable {
let categoryID: Int?
let customerTypes: [RebateCustomerType]?
let financialInstitution: String
let financialInstitutionID: Int
let id: Int
let identCode: String
let lenderCode: String
let maxCreditScore: Int
let minCreditScore: Int
let name: String
let nameDisplay: String
let number: String
let receipientType: Int
let revisionDate: String
let selected: Bool?
let startDate: String
let stopDate: String
let terms: [Term]?
let transactionType: Int
let type: Int
let updateTS: String
let value: RebateValue
let valueType: Int
let isGeneric: Bool?
let maxTerm: [MaxTerm]?
如果网络调用返回没有该数据,我想知道如何忽略 maxTerm 参数或任何其他参数。
这可能吗?
我们使用的 API 改变了许多参数的类结构。这会导致数据无法正确解析为有效的类对象。
我在 Stackoverflow 上搜索过,但没有成功...
预先感谢您的帮助。
最佳答案
如果您将这些参数设置为可选,它应该进行解析。但我发现您忘记将参数 value 设为可选。尝试将其设为可选。
关于json - 如何处理 Swift 4 中 JSON 对象解码的网络调用返回结构的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53121016/