【发布时间】:2015-10-04 07:47:27
【问题描述】:
我在尝试创建 JSON 对象时遇到问题。 一切都很好,直到我尝试创建具有 nil 值的二级元素:
var json = [String: AnyObject]()
json["id"] = 1234567
let secondLevel : [String: AnyObject] = ["i1": 12, "i2": "not nil"]
json["secondLevel"] = secondLevel
这很好,但如果我尝试:
let secondLevel : [String: AnyObject?] = ["i1": 12, "i2": nil]
json["secondLevel"] = secondLevel
我收到以下错误:
无法将“[String : AnyObject?]”类型的值分配给 输入“AnyObject?”
这是什么意思? [String:AnyObject?] 不是 AnyObject 类型吗?
我可以做些什么来避免这个错误?
【问题讨论】:
-
我尝试了
json["secondLevel"] = secondLevel as? AnyObject,但将整个secondLevel对象设为零,所以不好 -
我不知道元素的先验值,null是JSON标准中的值。顺便说一句,我不明白你之前的评论