Análisis de matrices anidadas de diccionarios utilizando Object Mapper

Estoy analizando una respuesta web api que es una variedad de diccionarios. Cada diccionario a su vez tiene una matriz anidada de diccionarios. ¿Cómo lo analizo? Pl proporciona una muestra de código.

Mi respuesta de API es,

( { FilingStatusId = 0; FormName = "MISC"; OrderId = 0; RecipientList = ( { FilingStatusId = 0; FormId = 1; FormName = "MISC"; PayerId = 26142; PayerName = bsbbshs; RecipientId = 221438; RecipientName = tests; ReturnId = 209998; UserId = 0; }, { FilingStatusId = 0; FormId = 1; FormName = "MISC"; PayerId = 26142; PayerName = bsbbshs; RecipientId = 221438; RecipientName = tests; ReturnId = 209998; UserId = 0; } ); }, { FilingStatusId = 0; FormName = "MISC"; OrderId = 0; RecipientList = ( { FilingStatusId = 0; FormId = 1; FormName = "MISC"; PayerId = 26142; PayerName = bsbbshs; RecipientId = 221438; RecipientName = tests; ReturnId = 209998; UserId = 0; }, { FilingStatusId = 0; FormId = 1; FormName = "MISC"; PayerId = 26142; PayerName = bsbbshs; RecipientId = 221438; RecipientName = tests; ReturnId = 209998; UserId = 0; } ); } ); 

Mi código hasta ahora es,

Este es mi modelo para la respuesta completa – ReturnModel

 import UIKit import ObjectMapper class ReturnModel: Mappable { var FilingStatusId : Int = 0 var FormName : String = "" var OrderId : String = "" var RecipientList:[[String:Any]] = [[:]] required init?(map: Map) { } func mapping(map: Map) { FilingStatusId <- map["FilingStatusId"] FormName <- map["FormName"] OrderId <- map["OrderId"] RecipientList <- map["RecipientList"] } } 

A partir de ahora estoy analizando el RecipientList como un diccionario. Pero tengo otro modelo llamado RecipientModel. ¿Cómo puedo usarlo dentro de este modelo de retorno para analizar el RecipientList?

Su primer modelo representará una matriz externa. Y el segundo representará una matriz interna. Aquí hay una muestra

  import Foundation import ObjectMapper // RecipientModel is an array itself class RecipientModel: Mappable { var filingStatusId:Int var orderId: Int var formName: String var recipientList: [RecipientList] required init?(_ map: Map) { filingStatusId = 0 orderId = 0 formName = "" recipientList = [] } func mapping(map: Map) { filingStatusId <- map["FilingStatusId"] orderId <- map["OrderId"] formName <- map["FormName"] recipientList <- map["RecipientList"] } } 

Y ahora creará otro modelo para su RecipientList

 class RecipientList: Mappable { var filingStatusId:Int var formId: Int var formName: String required init?(_ map: Map) { filingStatusId = 0 formId = 0 formName = "" } func mapping(map: Map) { filingStatusId <- map["FilingStatusId"] formId <- map["FormId"] formName <- map["FormName"] } } 

Objectmapper maneja objetos nesteds siempre que se ajusten a Mappable:

  import UIKit import ObjectMapper class ReturnModel: Mappable { var FilingStatusId : Int = 0 var FormName : String = "" var OrderId : String = "" var RecipientList:[RecipientModel] = [] required init?(map: Map) { } func mapping(map: Map) { FilingStatusId <- map["FilingStatusId"] FormName <- map["FormName"] OrderId <- map["OrderId"] RecipientList <- map["RecipientList"] } } 
    Intereting Posts