SwiftyJSON:将对象转换为 JSON

SwiftyJSON: Converting Objects to JSON

我知道使用 SwiftyJSON 您可以将对象从 JSON 转换为 Swift

SwiftyJSON 能让你回去吗?即,将 NSManagedObjects 与关系转换为 JSON?

请举个例子。

你不能那样做,这不是 SwiftyJSON 的目的。 SwiftyJSON 只是利用 Swift 的特性来更好地解析 JSON 与 objective-c 相比,它不会为 [ 序列化带来任何价值=27=].

为了您的目的,您必须从 NSManagedObject 对象创建 dictionary/array。然后像这样使用 Alamofire 和 JSON 序列化程序:

let parameters = event.toJSON() // create Dictionary from NSManagedObject

Alamofire.request(.POST, "https://httpbin.org/post", parameters: parameters, encoding: .JSON)

JSON字典的序列化——如果你有两个NSManagedObject的子类——EventActivity其中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({ [=11=].toJSON() })   
        ]
    }
}

extension Activity {
    func toJSON() -> Dictionary<String, AnyObject> {
        return [
            "id": self.id,
            "name": self.name
        ]
    }
}