2016-07-22 44 views
0

我使用AlamofireObjectMapper來序列化來自服務器的JSON響應。目前,該get方法,我有以下的結構化JSON響應:AlamofireObjectMapper,嵌套的JSON結構在序列化時始終爲零

{ 
    data : { 
     [ 
     { ID: 4, 
      ... 
      PointList : { 
      [ 
       { 

       }, 
       {} 
      ] 
      } 

     }, 
     { 
      ... 
     } 

     ] 
    } 
} 

我定義爲一個名爲BrowsableObjectList,我定義映射到JSON反序列化到對象的自定義class最外層的對象

class BrowsableObjectList : Mappable { 
    var data : [BrowsableObject]? 

    required init?(_ map: Map){ 
    } 

    func mapping(map: Map) { 
    data <- map["data"] 
    } 
} 

同樣我定義BrowsableObject

class BrowsableChronicle : Mappable { 
    var pointList : [Point]? 

    required init?(_ map: Map){} 

    func mapping(map: Map) { 
    pointList <- map["PointList"] 
    } 
} 

其中提到列表其中Point是定義爲另一個可映射對象的自定義類。

class Point{ 
    var axisX : Int? 
    var axisY : Int? 

    required init?(_ map: Map){ 

    } 

    func mapping(map: Map) { 
    axisX <- map["AxisX"] 
    axisY <- map["AxisY"] 
    } 
} 

的問題是在我的服務器調用的終點,我在我的瀏覽器來查看具有定義PointList價值觀,始終是nil,當我訪問它。

這裏就是我所說的端點:

func getChronicleEntries(pageIndex: Int, pageSize : Int, completionHandler: ([BrowsableChronicle]?, NSError?) ->()){ 
print("page index is : \(pageIndex)") 
Alamofire.request(.GET, "http://myendpoint.com/getThing?", parameters: ["pageindex": "\(pageIndex)", "pagesize": "\(pageSize)"]).responseObject { (response: Response<BrowsableObjectList, NSError>) in 
    if let userResponse = response.result.value { 
     if let data = userResponse.data { 
     let browsableObjectArray : [BrowsableObject] = data 
     completionHandler(browsableObjectArray, nil) 
     } 
    } else { 
     Logger.logSomething(response.result.error!.localizedDescription) 
     completionHandler(nil, response.result.error) 
    } 
} 
} 

的問題是,BrowsableObject.pointList總是nil即使終點返回Point S上的正確的JSON列表。我該怎麼辦?

回答

0

我沒有將最裏面的類設置爲Mappable

class Point: Mappable{ 

} 

唉!