Julian B. Julian B. - 3 months ago 13
HTTP Question

How to exclude fields in ObjectMapper during serialization?

So I have a simple class like the following:

class User: NSObject {

var name = ""
var phoneNumber = ""

override func mapping(map: Map) {
super.mapping(map)
name <- map["name"]
phoneNumber <- map["phoneNumber"]
}

}


This works great when turning a
JSON
response that contains these fields into an object. However i would like to exclude a field when serializing back to
JSON
. How can I do that? Let's say I would only like to send
name
and omit
phoneNumber
. Is this possible? Seems like a pretty reasonable use case, but I haven't managed to find a solution

Answer

Yes it is possible, you could use MappingType enum to handle this. It has two values FromJSON and ToJSON which you could use to create logic to map your object.

override func mapping(map: Map) {
    super.mapping(map)
    if map.mappingType == MappingType.FromJSON {
        name          <- map["name"]
        phoneNumber   <- map["phoneNumber"]
    } else {
        name          <- map["name"]
    }
}
Comments