2017-01-17 5 views
0

에 접근하지 나는 내가 ObjectMapper와 함께 사용하고 다음과 같은 JSON,이 :개체 매퍼는 중첩 된 배열

Open Api

응답 조각을

{ 
    "data": [ 
    { 
     "CategoryName": "רוגע", 
     "CategoryID": "63", 
     "CategoryDate": "2016-08-26 02:12:05", 
     "CategoryImage": "relax.png", 
     "SubCategoryArray": [ 
     { 
      "SubCategoryName": "רוגע", 
      "SubCategoryRefID": "63", 
      "SubCategoryID": "86", 
      "SubCategoryDate": "2016-08-28 02:57:07", 
      "TextArray": [ 
      { 
       "TextID": "32", 
       "Text": "<p dir=\"rtl\"><span style=\"font-size:48px\"><strong><span dir=\"RTL\" lang=\"HE\" style=\"font-family:Arial\">פרופורציה</span></strong> . הכול הבל הבלים. חולף כהרף עין. אז לנשום.</span></p>\r\n" 
      }, 

내 문제가에서 데이터를 받고있다 "SubCategoryArray"및 "TextArray"

매핑에서 다음을 시도했습니다.

import UIKit 
import ObjectMapper 

class APIResult: Mappable { 
    var data : [dataArray]? 
    required init?(map: Map){ 
    } 
    func mapping(map: Map) { 

     data <- map["data"] 
    } 
} 
class dataArray: Mappable{ 
    var CategoryName: String? 
    var CategoryID: String? 
    var CategoryDate: String? 
    var CategoryImage: String? 
    var SubCategoryArray: SubCategoryArray? 
    required init?(map: Map){ 
    } 
    func mapping(map: Map) { 

     CategoryName <- map["CategoryName"] 
     CategoryID <- map["CategoryID"] 
     CategoryDate <- map["CategoryDate"] 
     CategoryImage <- map["CategoryImage"] 
     SubCategoryArray <- map["SubCategoryArray"] 
    }  
} 
class SubCategoryArray: Mappable { 
    var SubCategoryName: String? 
    var SubCategoryRefID: String? 
    var SubCategoryID: String? 
    var SubCategoryDate: String? 
    var TextArray: TextArray? 
    required init?(map: Map){ 
    } 
    func mapping(map: Map) { 

     SubCategoryName <- map["SubCategoryName"] 
     SubCategoryRefID <- map["SubCategoryRefID"] 
     SubCategoryID <- map["SubCategoryID"] 
     SubCategoryDate <- map["SubCategoryDate"] 
     TextArray <- map["TextArray"] 
    } 
} 
class TextArray: Mappable { 
    var TextID: String? 
    var Text:String? 
    required init?(map: Map){ 
    } 
    func mapping(map: Map) { 

     TextID <- map["TextID"] 
     Text <- map["Text"] 
//  SubCategoryID <- map["SubCategoryID"] 
//  SubCategoryDate <- map["SubCategoryDate"] 
//  TextArray <- map["TextArray"] 
    } 
} 

내가 잘못하고있는 것을 지적하십시오.

+0

내 이해에 따라 모든 좋은,하지만 당신은 상단에 dataArray 클래스를 사용하고있는 유일한 문제가 될 수있는 데이터를 표시하는 json 응답. –

+0

실제로 데이터 내의 데이터를 파싱하고 있지만 SubCategoryArray 및 TextArray와 같은 하위 수준은 아닙니다. –

답변

1

이 당신이 어떤 어려움을 찾으면 알려줘이 데이터

import Foundation 
import ObjectMapper 

class customData: Mappable { 


var categoryName: String = "" 
var categoryId: String = "" 
var subCategoryArray: [SubCategoryArray] = [] 

required init?(_ map: Map) { 

} 

func mapping(map: Map) { 

    categoryName   <- map["data.CategoryName"] 
    categoryId    <- map["data.CategoryID"] 
    subCategoryArray  <- map["data.SubCategoryArray"] 
} 
} 

class SubCategoryArray: Mappable { 


var SubCategoryName: String = "" 
var SubCategoryRefID: String = "" 

var textArray: [TextArray] = [] 
required init?(_ map: Map) { 

} 

func mapping(map: Map) { 

    SubCategoryName   <- map["SubCategoryName"] 
    SubCategoryRefID  <- map["SubCategoryRefID"] 
    textArray    <- map["TextArray"] 

} 
} 

class TextArray: Mappable { 


var TextID: String = "" 
var Text: String = "" 

required init?(_ map: Map) { 

} 

func mapping(map: Map) { 

    TextID    <- map["TextID"] 
    Text    <- map["Text"] 
} 
} 

을지도 할 방법이다.