json - 如何处理 Swift 4 中 JSON 对象解码的网络调用返回结构的变化

标签 json swift api class struct

我有一个结构体,其中填充有从基于 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/

相关文章:

android - 在适配器中用两个数组填充数组列表?

sql - Json数组列拆分成行SQL

c++ - 在vista中将文件夹挂载为驱动器

facebook - 通过API在Facebook上分享YouTube视频

api - 新字段 'new_like_count' 是什么?

java - Rest API post请求将Cucumber.json文件发送到Java中的Jira

iOS Swift Json 序列化中断字符串返回

ios - 如何将度数转换为弧度?

swift - 我怎样才能使 SWRevealViewController 在我的所有场景中可用?

swift - Self 和 numberOfInSections