使用SwiftyJSON的Hande nil值

时间:2016-01-19 08:29:36

标签: json swift null swifty-json

我使用JSON api来获取数据并且一切正常,但我不喜欢我处理结果的方式是安全的{if} 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

1 个答案:

答案 0 :(得分:0)

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

我会添加可以被称为

的方法
jsonString ("name")
jsonStringOrEmpty ("name")
jsonStringOrEmptyAcceptNull ("name")

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