如何通过 objectMapper 和 Alamofire 发布嵌套的 json?
Posted
技术标签:
【中文标题】如何通过 objectMapper 和 Alamofire 发布嵌套的 json?【英文标题】:How to post nested json by objectMapper and Alamofire? 【发布时间】:2018-05-15 12:43:05 【问题描述】:我有 post API 的请求 json :
"TokenId": "xxxxxx-xxxxx-xxxx-xxx",
"ObjSearch":
"UserId":"0",
"FromDate":"",
"StateId":"0",
"DistrictId":"0",
"ToDate":""
目前我已经创建了两个请求模型,例如:
class ChartsReqModel: NSObject, Mappable
var TokenId:String?
var ObjSearch : [ChartObjSearchReqModel]?
与
class ChartObjSearchReqModel: NSObject,Mappable
var FromDate:String?
var ToDate:String?
var StateId:String?
var DistrictId:String?
var UserId:String?
var ProductId:String?
var SalesChannelId:String?
var ReporteesId:String?
var `Type`:String?
func mapping(map: Map)
FromDate <- map["FromDate"];
ToDate <- map["ToDate"];
StateId <- map["StateId"];
DistrictId <- map["DistrictId"];
UserId <- map["UserId"];
ProductId <- map["ProductId"];
SalesChannelId <- map["SalesChannelId"];
ReporteesId <- map["ReporteesId"];
Type <- map[![\[][1]][1]"Type"];
我从邮递员的 API 获得的期望响应看起来很完美,但我认为从我的代码中我无法发送正确的请求模型和我的数据显示
数据 = ( );
我是 Swift 的新手,我无法找出代码中的问题.. 请有人帮我找到解决方案
邮递员截图:
【问题讨论】:
这里没有足够的信息给我们 Tanya,我们需要看看你想提出什么要求。也许是邮递员截图?你有什么代码来创建请求?尝试打印请求的正文,看看你得到了什么。 @Scriptable 请查看我更新后的问题以获取屏幕截图 【参考方案1】:基于请求结构,下面是编码/解码ChartsReqModel
对象的简化方式,
class ChartsReqModel: NSObject, Mappable
var TokenId:String?
var ObjSearch: ChartObjSearchReqModel?
required init?(map: Map)
func mapping(map: Map)
self.TokenId <- map["TokenId"]
self.ObjSearch <- map["ObjSearch"]
现在,当您从响应中获得 json
时,您可以通过如下传递该 json 来解码 ChartsReqModel
对象,
let chartsObject = ChartsReqModel(JSON: jsonFromResponse)
当你想发布ChartsReqModel
json,你可以编码如下
let paramsJson = chartsObject.toJSON()
【讨论】:
您建议如何将 ChartObjSearchReqModel 的值传递给 ChartsReqModel? 没有得到传递值的意义?在 json 中,您将其作为对象,即ObjSearch
,因此,一旦您传递 json,ObjectMapper
将映射它。
@TanyaSinha 很高兴它有帮助!
@Kamran 文档中哪里提到了这个?太令人沮丧了。 +1
@T.Coutlakis 你是对的,他们没有在文档中为此提供任何具体示例。您只能在 BaseMappable
类中找到它。以上是关于如何通过 objectMapper 和 Alamofire 发布嵌套的 json?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 ObjectMapper 和 Realm 对象声明字典
如何使用 ObjectMapper 将枚举的 rawValue 分配给变量?