gpt4 book ai didi

swift/Alamofire/ObjectMapper : Ignore nil values

转载 作者:行者123 更新时间:2023-11-28 11:27:20 24 4
gpt4 key购买 nike

只是想知道这是否可能,因为我试图避免创建重复/非常相似的模型。

例如,如果我有以下 JSON:

{ 
"1001": {
"first_name": "James",
"last_name": "Smith",
"age": 30,
}
"1002": {
"first_name": "Sarah",
"last_name": "Jones",
}
}

我有以下类来映射用户数据:

class UserModel: Mappable {

var firstName: String?
var lastName: String?
var age: Int?

required init?(map: Map) {}

func mapping(map: Map) {
start <- map["first_name"]
current <- map["last_name"]
stage <- map["age"]
}

}

这非常有效,如果我打印出响应,我会得到以下信息:

{
{
"firstName" : "James",
"lastName" : "Smith",
"age" : 30
}
{
"firstName" : "Sarah",
"lastName" : "Jones",
"age" : nil
}
}

有没有办法在发出请求时忽略任何 nil 值?试图避免创建另一个被年龄删除的 UserModel,宁愿保留一个模型,但忽略我知道不会出现在响应中的键。

最佳答案

您可以改用 Codable

struct Model : Codable {
let firstName,lastName:String
let age:Int?
}

let decoder = JSONDecoder()
decoder.keyDecodingStrategy = .convertFromSnakeCase
let res = try? decoder.decode([String:Model].self,from:data)

关于 swift/Alamofire/ObjectMapper : Ignore nil values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57804631/

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