美文网首页
Swift Codable字段白名单

Swift Codable字段白名单

作者: 觉醒的苍红之刃 | 来源:发表于2017-11-27 17:53 被阅读71次

    Codable的概念和其他用法等不多讲,本文只讲当model的字段比json字段多的时候如何处理,貌似暂时没有看到相关的文章,故写出来供参考。

    • 其实处理很简单,model多出的字段必须为Optional类型,并且赋初值
      举个栗子:
      json为
    {
     "name" : "zhangsan",
     "age" : 17, 
     "father" : "laowang"
    }
    

    model 为:

    class Model: Codable {
      var name: String? = "";
      var age: Int? = 17;
      var father: String? = "";
      var mother: String? = "";
    }
    

    model里边多出了字段"mother",需要声明为Optional类型并且赋初值,这样声明的话如果json有mother字段则会给model赋上json里边的值,没有的话就略过。除此之外貌似没有更好的办法(当然添加CodingKey也可以,但是需要添加全部你想要转换的字段,较为麻烦,而且当json有mother字段而CodingKey里边没添加时那么不会给model的mother字段赋值)。


    当json里边的字段跟model的字段类型不一致(比如数字转为字符)时转换会失败,暂未找到解决方法,有知道的童鞋告诉我一下,不胜感激!!!

    相关文章

      网友评论

          本文标题:Swift Codable字段白名单

          本文链接:https://www.haomeiwen.com/subject/jvvdbxtx.html