我正在解析一个Web api响应,该响应是一个字典数组。每个字典又具有嵌套的字典数组。我该如何解析?请提供一些代码示例。
我的api响应是
( { 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; } ); } );
到目前为止,我的代码是
这是我整个响应的模型-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"] } }
截至目前,我正在将RecipientList解析为字典。但是我有另一个名为RecipientModel的模型。我如何在ReturnModel中使用它来解析RecipientList?
您的第一个模型将代表外部数组。第二个代表内部数组。这是一个样本
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"] } }
现在,您将为您的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"] } }