SwiftyJSON:将对象转换为 JSON
SwiftyJSON: Converting Objects to JSON
我知道使用 SwiftyJSON 您可以将对象从 JSON
转换为 Swift
。
SwiftyJSON 能让你回去吗?即,将 NSManagedObject
s 与关系转换为 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
的子类——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({ [=11=].toJSON() })
]
}
}
extension Activity {
func toJSON() -> Dictionary<String, AnyObject> {
return [
"id": self.id,
"name": self.name
]
}
}
我知道使用 SwiftyJSON 您可以将对象从 JSON
转换为 Swift
。
SwiftyJSON 能让你回去吗?即,将 NSManagedObject
s 与关系转换为 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
的子类——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({ [=11=].toJSON() })
]
}
}
extension Activity {
func toJSON() -> Dictionary<String, AnyObject> {
return [
"id": self.id,
"name": self.name
]
}
}