繁体   English   中英

如何快速使用对象映射器将JSON字符串映射到模型类

[英]How to map JSON String to model class using Object Mapper in swift

我的模型课是这样的:

class CalendarTaskModel: Mappable {

     var kpiColor: String?
     var kpi: String?
     var date: String?

     required init?(map: Map) {
        //Code here
     }

    func mapping(map: Map) {
         kpiColor <- map["kpiColor"]
         kpi <- map["kpi"]
         date <- map["date"]
     }
 }

我有一个与模型类映射的对象。

var taskDetails: [CalendarTaskModel]?

由于我的对象是数组类型,因此我想使用ObjectMapper像下面的代码一样将JSON字符串映射到对象。

code 1: taskDetails = Mapper<[CalendarTaskModel]>().map(JSONString: jsonStr)
//
code 2: taskDetails = Mapper<CalendarTaskModel>().map(JSONString: jsonStr)

但我收到错误 在此处输入图片说明 && 在此处输入图片说明 请提出如何做到这一点? 提前致谢。

我想到了! 您应该改用mapArray方法:

let jsonStr = ...
var taskDetails: [CalendarTaskModel]?
taskDetails = Mapper<CalendarTaskModel>().mapArray(JSONfile: jsonStr)

这是因为map方法不返回数组。

至于您提供的代码1, [CalendarTaskModel]类型(与Array<CalendarTaskModel>等效) 兼容该可映射协议。我怀疑可以使其兼容,例如使用更复杂的逻辑,但是该库鼓励您使用我建议的方法,祝您好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM