今週ObjectMapperを使い始めました.JSONを2つのCustomClassesにマッピングしようとしていますが、ObjectMapperにいくつかの機能私が望むもの最初のCustomClassには、[String:CustomClass2]というタイプのプロパティがあります。このDictionaryのインデックスは、2番目のCustomObjectのプロパティIDにする必要があります。使用さObjectMapper how map [String:CustomObject] DictionaryのインデックスをCustomObjectプロパティとして持つ
JSON:使用
{
"types": [
{
"id": "mk8QPMSo2xvtSoP0cBUD",
"name": "type 1",
"img": "type_1",
"showCategories": false,
"modalityHint": [
"K7VqeFkRQNXoh2OBxgIf"
],
"categories": [
"mP3MqbJrO5Da1dVAPRvk",
"SlNezp2m3PECnTyqQMUV"
]
}
]
}
クラス:あなたのJSONで
class MyClass: Mappable {
var types:[String:MyClass2] = [String:MyClass2]() //Index should be ID property of MyClass2 Object
required init?(map:Map) {
guard map.JSON["types"] != nil else {
return nil
}
}
func mapping(map: Map) {
types <- map["types"]
}
}
class MyClass2: Mappable {
private var id: String!
private var name: String!
private var img: String!
private var showCategories: Bool!
private var modalityHint: [String]?
private var categories: [String]?
required init?(map: Map) { }
func mapping(map: Map) {
id <- map["id"]
name <- map["name"]
img <- map["img"]
showCategories <- map["showCategories"]
modalityHint <- map["modalityHint"]
categories <- map["categories"]
}
私はタイプが '[クラス2文字列]すべきではないと思います] ' – Scriptable