json - AlamofireObjectMapper,嵌套的 JSON 结构在序列化时始终为 nil

标签 json swift alamofire objectmapper

我正在使用 AlamofireObjectMapper 序列化来自服务器的 JSON 响应。目前,通过 get 方法,我有以下结构化 JSON 响应:

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

               }, 
               {}
             ]
          }

        },
        {
          ...
        }

      ]
   }
 }

我将最外层的对象定义为一个名为 BrowsableObjectList 的自定义 class,其中我定义了将 json 反序列化为对象的映射

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]列表,其中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 JSON 列表。我该怎么办?

最佳答案

我没有将最里面的类设置为Mappable

 class Point: Mappable{

 }

呃!

关于json - AlamofireObjectMapper,嵌套的 JSON 结构在序列化时始终为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38536507/

相关文章:

javascript - JSON 数据到 Javascript 数组未定义

javascript - 如何使用javascript获取json对象属性

swift - 我如何在核心数据中实现父子关系?

ios Instagram api POST 关系端点使用 Alamofire - 错误

ios - 如何为每个 NSURLRequest 设置不同的过期超时时间

ios - 将对象附加到变量

python - 避免将重复项添加到存储在数据库中的列表的更好方法是什么

javascript - JSON 解析器不适用于 Angular ng-repeat

swift - iTunes 是否备份核心数据?

swift - 如何在嵌套的不可抛出闭包中调用 throw?