ObjectMapper 在将对象转换为字典期间删除了没有值的字段
ObjectMapper removed fields without value during converting an object to dictionary
我使用 ObjectMapper 将 JSON 映射到对象,反之亦然,我想将对象转换为 JSON,但是当我尝试将对象转换为 JSON 时,字段没有值,将从 JSON 中删除,例如:
class Provider: NSObject, Mappable {
public var firstName:String?
public var lastName:String?
required init?(map: Map){
}
override init(){
}
func mapping(map: Map) {
self.firstName <- map["firstName"]
self.lastName <- map["lastName"]
}
当我调用下面的函数时,它打印一个 JSON
而没有任何 key/value:
func printProviderJSON(){
let provider = Provider()
let providerDictionary = provider.toJSON()
let datproviderData = try! JSONSerialization.data(withJSONObject: providerDictionary, options: .prettyPrinted)
let providerJSON = NSString(data: datproviderData, encoding: String.Encoding.utf8.rawValue)!
print(providerJSON) // {}
}
但我需要这样的 JSON:
{
"firstName": null,
"lastName": null
}
映射函数一行就解决了
func mapping(map: Map) {
map.shouldIncludeNilValues = true
self.firstName <- map["firstName"]
self.lastName <- map["lastName"]
}
我使用 ObjectMapper 将 JSON 映射到对象,反之亦然,我想将对象转换为 JSON,但是当我尝试将对象转换为 JSON 时,字段没有值,将从 JSON 中删除,例如:
class Provider: NSObject, Mappable {
public var firstName:String?
public var lastName:String?
required init?(map: Map){
}
override init(){
}
func mapping(map: Map) {
self.firstName <- map["firstName"]
self.lastName <- map["lastName"]
}
当我调用下面的函数时,它打印一个 JSON
而没有任何 key/value:
func printProviderJSON(){
let provider = Provider()
let providerDictionary = provider.toJSON()
let datproviderData = try! JSONSerialization.data(withJSONObject: providerDictionary, options: .prettyPrinted)
let providerJSON = NSString(data: datproviderData, encoding: String.Encoding.utf8.rawValue)!
print(providerJSON) // {}
}
但我需要这样的 JSON:
{
"firstName": null,
"lastName": null
}
映射函数一行就解决了
func mapping(map: Map) {
map.shouldIncludeNilValues = true
self.firstName <- map["firstName"]
self.lastName <- map["lastName"]
}