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"]
    }