【发布时间】:2017-03-20 02:20:57
【问题描述】:
我有两个完全是 json 对象,一个是从函数创建的,另一个是硬编码的,硬编码的一个有效,另一个无效(它总是抱怨错误 invalid top-level type ,这很奇怪。任何小费?Tks
let myData = self.dailyMileage?.toDictionary()
let directData = ["orgId" : self.orgId, "driverId" : self.driverId, "date" : Utils.getTodaysDate() ] as [String : Any]
//this won't work unless I substitute myData with directData
let jsonData = try JSONSerialization.data(withJSONObject: myData, options: .prettyPrinted)
//this is the function that produces myData, and nothing is nil
public func toDictionary() -> [String : Any] {
let dict = [ "orgId" : orgId , "driverId": driverId, "date" : date] as [String : Any]
return dict
}
【问题讨论】:
-
问题是因为
myData是可选的吗? -
您是否在 jsonData 行中放置了一个断点来检查 myData 实例并确保它实际上是正确的?
-
@TheValyreanGroup 是的,我做到了,这就是为什么我说它们完全一样
-
您的
myData对象是可选的吗?看起来是这样。原因可能是因为这个。请检查我的答案并告诉我它是否有帮助