处理字典对象中的空值

Handling null value in a dictionary object

我正在使用网络服务获取信息。当返回所述信息时,我将从 jason 接收到的数据转换为字典。

Dumping dict object 时,一些项目是这样到达的:

▿ (2 elements)

- key: "street1"

- value: <null> #4

我将如何读取这些数据并知道该值为 NULL

我试过以下方法:

let street1:String = dict?["street1"] as! String

失败:无法将类型 'NSNull' (0x10fbf7918) 的值转换为 'NSString' (0x10f202c60)。

数据可以有一个字符串值。所以我尝试了:

let street1:Any = dict?["street1"] as Any

当我这样打印 street1 时 街道 1:可选()

我得到以下信息 街道 1:可选()

所以我的问题是: 我将如何阅读这些数据并知道该值为 null.

您可以使用 if let 进行此类 nil 检查。

试试这个:

if let street1 = dict?["street1"] as? String {
   // If this succeeds then you can use street1 in here
   print(street1)
}

更新:

var t_street1 = ""
if let street1 = dict?["street1"] as? String { 
    t_street1 = street1 
}

不需要 else t_street1 自动为空,因为您将其分配为空。