У меня проблема с последних 2 дней. Я не могу преобразовать JSON в объект Realm.Realm + Swift, вложенный JSON
У меня есть JSON, как показано ниже:
{
"gender" : "male",
"id" : "123456789",
"age_range" : {
"min" : 21
},
"last_name" : "LastName"
}
У меня есть эта область Модели:
class UserObject: Object {
dynamic var userId: String = ""
dynamic var lastName: String?
dynamic var gender: String?
var ageRange = List<AgeRangeObject>()
required convenience init?(_ map: Map) {
self.init()
}
}
class AgeRangeObject: Object {
dynamic var min: Int = 0
}
И так, как я пытаюсь создать экземпляр этой модели с ObjectMapper для разбора JSON в и затем создать экземпляр модели:
let userJSONModel = Mapper<User>().map(jsonString)
let realm = try! Realm()
do {
try realm.write {
let dict: [String : AnyObject] = [
"userId" : (userJSONModel?.userId)!,
"ageRange" : (userJSONModel?.ageRange)!,
"lastName" : (userJSONModel?.lastName)!,
"gender" : (userJSONModel?.gender)!
]
let userModel = UserObject(value: dict)
realm.add(userModel)
}
} catch {
print("Exception")
}
Проблема возникает в этой строке: let userModel = UserObject(value: dict)
Я получаю ошибку folowing:
*** Terminating app due to uncaught exception 'RLMException', reason: 'Invalid value 'min' to initialize object of type 'AgeRangeObject': missing key 'min''
Я смотрел на StackOverflow:
Nested Arrays throwing error in realm.create(value: JSON) for Swift
How to convert Realm object to JSON with nested NSDate properties?
но мой случай отличается. Знаете ли вы, в чем проблема с этим словарем? Почему он не может разобрать его хорошо? Спасибо.
большое спасибо! :) Теперь я просвещен;) Я думаю, что документация Царства не совсем понятна в этом случае. – PiotrCh