Как исключить поля в ObjectMapper при сериализации?
Итак, у меня есть простой класс, подобный следующему:
class User: NSObject {
var name = ""
var phoneNumber = ""
override func mapping(map: Map) {
super.mapping(map)
name <- map["name"]
phoneNumber <- map["phoneNumber"]
}
}
Это прекрасно работает при повороте JSON
ответ, который содержит эти поля в объект. Однако я хотел бы исключить поле при сериализации обратно JSON
, Как я могу это сделать? Допустим, я хотел бы только отправить name
и опустить phoneNumber
, Это возможно? Похоже, довольно разумный вариант использования, но мне не удалось найти решение.
1 ответ
Решение
Да, это возможно, вы могли бы использовать MappingType
Перечислим, чтобы справиться с этим. Имеет два значения FromJSON
а также ToJSON
который вы могли бы использовать для создания логики для сопоставления вашего объекта.
override func mapping(map: Map) {
super.mapping(map)
if map.mappingType == MappingType.FromJSON {
name <- map["name"]
phoneNumber <- map["phoneNumber"]
} else {
name <- map["name"]
}
}