Как исключить поля в 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"]
    }
}
Другие вопросы по тегам