gpt4 book ai didi

ios - 在 Swift 3.0 中使用 SwiftyJSONModel 接收空值

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:12:27 24 4
gpt4 key购买 nike

成功调用 web 服务后,我得到以下 json

"balance_details":{  
"raw_balance":"13157.70",
"raw_credit_adeded":"4035000.00",
"raw_credit_deducted":"0.00",
"raw_tot_paid_amount":6000,
"tot_paid_amount":"Rs.6000.00",
"tot_paid_invoices":2,
"balance":"13157.7",
"current_balance":"Rs.13157.70",
"credit_added":"Rs.4035000.00",
"credit_deducted":"Rs.0.00",
"last_recharge_amt":null,
"raw_amount":null,
"last_recharge_date":""
}

对于这个网络电话,我使用的是 Alamofire。为了将此 JSON 映射到 SWIFT OBJECT,我使用了 SwiftyJSONModel 库。但是我无法将类型设置为将空值存储到 JSON 对象中。

class BalanceDetails: JSONObjectInitializable {

// FIXME: - properties
var rawBalance: String
var rawCreditAdeded: String
var rawCreditDeducted: String
var rawTotalPaidAmount: Int
var totalPaidAmount: String
var totalPaidInvoices: Int
var balance: String
var currentBalance: String
var creditAdded: String
var creditDeducted: String
// var lastRechargeAmount: NSObject
// var rawAmount: NSObject
var lastRechargeDate: String

// FIXME: - json properties
enum PropertyKey: String {
case raw_balance
case raw_credit_adeded
case raw_credit_deducted
case raw_tot_paid_amount
case tot_paid_amount
case tot_paid_invoices
case balance
case current_balance
case credit_added
case credit_deducted
// case last_recharge_amt
// case raw_amount
case last_recharge_date
}

// FIXME: - initializer
required init(object: JSONObject<PropertyKey>) throws {
rawBalance = try object.value(for: .raw_credit_adeded)
rawCreditAdeded = try object.value(for: .raw_credit_adeded)
rawCreditDeducted = try object.value(for: .raw_credit_deducted)
rawTotalPaidAmount = try object.value(for: .raw_tot_paid_amount)
totalPaidAmount = try object.value(for: .tot_paid_amount)
totalPaidInvoices = try object.value(for: .tot_paid_invoices)
balance = try object.value(for: .balance)
currentBalance = try object.value(for: .current_balance)
creditAdded = try object.value(for: .credit_added)
creditDeducted = try object.value(for: .credit_deducted)
// lastRechargeAmount = try object.value(for: .last_recharge_amt)
// rawAmount = try object.value(for: .raw_amount)
lastRechargeDate = try object.value(for: .last_recharge_date)
}
}

当我取消注释上面代码中的注释行时,xcode 给我错误提示“没有‘值’候选者产生预期的上下文结果类型‘NSObject’”。所以我的问题是如何为该 JSON 值设置类型,以便它与类字段一起存储。

最佳答案

我不能评论所以我在这里回答你:

认为可能是因为那些键的值为空,所以我会尝试这个:

     lastRechargeAmount = try? object.value(for: .last_recharge_amt) as? String
rawAmount = try? object.value(for: .raw_amount) as? String

关于ios - 在 Swift 3.0 中使用 SwiftyJSONModel 接收空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43117381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com