SwiftyJSONでは、オブジェクトをJSON
からSwift
に変換できます。SwiftyJSON:オブジェクトをJSONに変換する
SwiftyJSONは戻ることができますか?すなわち、関係を持ってNSManagedObject
を取得し、それをJSONに変換しますか?
例
SwiftyJSONでは、オブジェクトをJSON
からSwift
に変換できます。SwiftyJSON:オブジェクトをJSONに変換する
SwiftyJSONは戻ることができますか?すなわち、関係を持ってNSManagedObject
を取得し、それをJSONに変換しますか?
例
あなたはそれを行うことはできません。それはSwiftyJSONのためのものではありません。 SwiftyJSONはObjective-Cと比較してJSONの構文解析を改善するSwiftの機能を使用しているだけで、JSONへのシリアライズの価値はありません。
NSManagedObject
オブジェクトから辞書/配列を作成する必要があります。 JSON辞書に
let parameters = event.toJSON() // create Dictionary from NSManagedObject
Alamofire.request(.POST, "https://httpbin.org/post", parameters: parameters, encoding: .JSON)
シリアライズ - あなたはNSManagedObject
の2つのサブクラスがある場合 - Event
とEvent
がActivity
に1対多の関係を持っているActivity
を、私は次のように行くだろう。そして、このようにJSONシリアライザでちょうどAlamofire
を使用これは
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
]
}
}
ありがとうございます。それはどのように関係のために働くでしょう。私。 「アクティビティ」エンティティと多対多の関係を持つ「イベント」というエンティティがある場合。イベントには一連のアクティビティがあります。 – user1107173
私はたぶんディクショナリで返す両方のクラスのための1つの直列化メソッドを持つ拡張を実装します。更新された投稿 –
を参照してくださいまた、すべて私はすべての属性の展開を強制する必要があります。 return ["id":self.id!]値の1つがnilであればクラッシュするでしょうか? – user1107173
です。SwiftyJSONはシンプルなjsonシリアライザ/デシリアライザです。あなたはそれに適したデータがあることを確認する必要があります。リレーションシップに関しては、シリアライズの準備が整っている(つまり、それを辞書または何らかのソートにする)ことはあなたの仕事です。あなたが求めているのは、Core DataとSwiftyJSONとの緊密な統合です。 –
@ user1107173 JSONから管理オブジェクトを初期化する方法を教えてください。それは元に戻すことができます... – JAHelia
@JAHelia私はあなたができるとは思わない。あなたはそれをJSONから変換し、マッピングを手動で行いました。 – user1107173