【问题标题】:How to exclude fields in ObjectMapper during serialization?如何在序列化期间排除 ObjectMapper 中的字段?
【发布时间】:2016-12-29 15:47:22
【问题描述】:

所以我有一个简单的类,如下所示:

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

【问题讨论】:

    标签: ios json swift http objectmapper


    【解决方案1】:

    是的,有可能,您可以使用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"]
        }
    }
    

    【讨论】:

    • 哇,这正是我需要的!!!非常感谢。文档中到底在哪里?我发誓我没有在任何地方看到它。
    • 我不确定这是否在文档中,几个月前我发现了它,当时我想完全按照您的场景进行操作并使用它的属性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-16
    • 1970-01-01
    • 2019-09-06
    • 1970-01-01
    • 2016-06-10
    • 2019-03-15
    • 1970-01-01
    相关资源
    最近更新 更多