我有一個嵌套的Realm對象,在嵌套對象中有多個嵌套的NSDate
屬性。我正在使用this answer將嵌套的Realm對象轉換爲NSDictionary
,但我不知道如何將該NSDictionary
轉換爲實際的JSON。如何將Realm對象轉換爲嵌套NSDate屬性的JSON?
當我使用NSJSONSerialization.dataWithJSONObject()
,我得到的錯誤:'Invalid type in JSON write (__NSTaggedDate)'
據我瞭解,我必須先將NSDate
屬性轉換爲NSString
。問題是我不知道如何進入深度嵌套的對象來做到這一點。
此代碼生成'Invalid type in JSON write (__NSTaggedDate)'
錯誤:
let exercises = realm.objects(ExerciseProgram).first
let dic = exercises!.toDictionary()
do {
if let postData: NSData = try NSJSONSerialization.dataWithJSONObject(dic, options: NSJSONWritingOptions.PrettyPrinted) {
let json = NSString(data: postData, encoding: NSUTF8StringEncoding)! as String
print(json)
}
} catch let error as NSError {
print(error)
我的物體的簡化版本:
final class ExerciseProgram: Object {
dynamic var name: String = ""
dynamic var startDate = NSDate()
dynamic var userProfile: User?
var program = List<Exercise>()
}
final class Exercise: Object {
dynamic var name = ""
dynamic var notes: String?
var workoutDiary = List<Workout>()
dynamic var goal = 0
}
final class Workout: Object {
dynamic var date = NSDate()
var sets = List<WorkSet>()
}