【发布时间】:2023-04-07 12:33:01
【问题描述】:
我有一个结构,它正在填充来自基于休息的 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 没有占上风...
提前感谢您的帮助。
【问题讨论】:
-
只要将这些参数设为可选,它就会解析
-
您已经将
maxTerm定义为可选属性,这是处理此问题的正确方法
标签: json swift api class struct