我知道使用SwiftyJSON可以将
请给出示例。
JSON
对象转换为Swift
。但是,SwiftyJSON允许你返回吗?即,将带有关系的NSManagedObject
转换成JSON格式?请给出示例。
JSON
对象转换为Swift
。但是,SwiftyJSON允许你返回吗?即,将带有关系的NSManagedObject
转换成JSON格式?您不能这样做,因为 SwiftyJSON 不是为此而设计的。SwiftyJSON 只是利用 Swift 的特性来更好地解析 JSON,与 objective-c 相比没有提供任何序列化成 JSON 的价值。
对于您的目的,您需要从 NSManagedObject
对象创建字典/数组。然后只需使用类似以下代码的带有 JSON 序列化器的 Alamofire
:
let parameters = event.toJSON() // create Dictionary from NSManagedObject
Alamofire.request(.POST, "https://httpbin.org/post", parameters: parameters, encoding: .JSON)
将数据序列化为 JSON 字典 - 如果您有两个 NSManagedObject
的子类 - Event
和 Activity
,其中 Event
与 Activity
之间有一对多关系,我会这样做:
extension Event {
func toJSON() -> Dictionary<String, AnyObject> {
return [
"id": self.id,
"name": self.name,
"startDate": self.startDate.GMTFormatString,
"endDate": self.endDate.GMTFormatString,
"activities": self.activities.map({ $0.toJSON() })
]
}
}
extension Activity {
func toJSON() -> Dictionary<String, AnyObject> {
return [
"id": self.id,
"name": self.name
]
}
}
date.timeIntervarSince1970
或类似的东西。这取决于你在API端点上需要日期的方式。在某些地方,你需要按照某个标准发送格式化日期(Google API使用RFC 3339)。 - Pavel Smejkal