美文网首页
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