ios - 如何在序列化过程中排除 ObjectMapper 中的字段?

标签 ios json swift http 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。这可能吗?似乎是一个非常合理的用例,但我还没有设法找到解决方案😔。

最佳答案

是的,这是可能的,您可以使用 MappingType 枚举来处理这个问题。它有两个值 FromJSONToJSON,您可以使用它们来创建逻辑来映射您的对象。

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

关于ios - 如何在序列化过程中排除 ObjectMapper 中的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39090595/

相关文章:

ios - 如何在快速解析时在参数中添加post api请求

ios - iOS 开发中的选项卡栏 Controller 。为什么当我切换标签时它会重新运行所有代码?

ios - 在 View Controller 中重置导航栏的外观

ios - 从文档目录为 UIbutton 设置图像

ios - 在 iOS iTunes 库中设置音乐文件的插图(越狱)

ALAMOFIRE 的 JSON_encode

ios - 在 Swift 中解析 JSON 中的嵌套数组

swift 。不再需要初始化?

ios - 如何在联系人表格 View 顶部显示相同的应用程序用户?

ios - AVPlayer 不播放本地 mp4