【问题标题】:Hande nil values with SwiftyJSON使用 SwiftyJSON 处理 nil 值
【发布时间】:2016-04-24 15:12:51
【问题描述】:

我正在使用 JSON api 来获取数据并且一切正常,但我真的不喜欢我处理结果的方式是安全的,如果它是 nil。这就是今天的样子:

我得到我的 JSON,然后我迭代它并执行以下操作

let obj = Obj()

obj.name = json["name"].string ?? ""
obj.age = json["age"].string ?? ""
obj.length = json["length"].string ?? ""

所以我检查例如json["name"].string 是否有一个值,否则我将它分配一个空的""。这是使用 SwiftyJSON 的方法还是有更清洁的方法?

问题是有时json["name"].string 有一个值,而不是json["age"].string

【问题讨论】:

    标签: json swift null swifty-json


    【解决方案1】:

    在开始编写代码之前,您需要做的是弄清楚如果一个值不存在或者它是否为空,您真正想要做什么。您显然决定用空字符串替换所有不存在的值。这意味着您失去了区分这两种情况的能力。在某些时候,这会让你付出代价。

    我会添加可以调用的方法

    jsonString ("name")
    jsonStringOrEmpty ("name")
    jsonStringOrEmptyAcceptNull ("name")
    

    等等,在每种情况下都使用我想要使用的那个,并且每个都实现了在遇到意外输入时给我调试信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-27
      • 1970-01-01
      • 1970-01-01
      • 2018-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多