我有一个在init中有一些属性的对象,当将数据从JSON解析到对象时,它做得很好,但是在将对象转换为JSON时,我找不到方法在JSON中转换数据
下面是我正在使用的代码
var sOWSubCategory: SowSubCategoryModel?
var reportDisplayId : String?
required init?(map: Map){
sOWSubCategory = SowSubCategoryModel(sOWSubCategoryID: map.JSON["SOWSubCategoryID"] as? Int, sOWSubCategoryNameAr: map.JSON["SOWSubCategoryNameAr"] as? String, sOWSubCategoryNameEn: map.JSON["SOWSubCategoryNameEn"] as? String)
sOWSubCategoryDetail = SowSubCategoryDetailListModel(sOWSubCategoryDetailID: map.JSON["SOWSubCategoryDetailID"] as? Int64, sOWSubCategoryDetailAr: map.JSON["SOWSubCategoryDetailNameAr"] as? String, sOWSubCategoryDetailEn: map.JSON["SOWSubCategoryDetailNameEn"] as? String)
}
func mapping(map: Map) {
reportDisplayId <- map["ReportDisplayID"]
}reportDisplayId正在转换为JSON,但是sOWSubCategory和sOWSubCategoryDetail没有
发布于 2019-04-28 08:33:51
ObjectMapper将从/转到在下面的mapping(map: Map)方法中使用的对象属性
func mapping(map: Map) {
reportDisplayId <- map["ReportDisplayID"]
}因为reportDisplayId是在mapping(map: Map)方法中映射的唯一属性,所以您只使用这个键值获取JSON。您应该使SowSubCategoryModel和SowSubCategoryDetailListModel与Mappable保持一致,并通过mapping方法映射这些对象,以便只获得所需的JSON。
如果您想保持SowSubCategoryModel和SowSubCategoryDetailListModel的映射与问题相同,那么您可以在模型中通过添加sOWSubCategory和sOWSubCategoryDetail JSON实现toJSON方法,如下所示,
func toJSON() -> [String : Any] {
var finalJSON = self.toJSON()
var sOWSubCategory = sOWSubCategory.toJSON()
var sOWSubCategoryDetail = sOWSubCategoryDetail.toJSON()
sOWSubCategory.forEach {
finalJSON[$0.0] = $0.1
}
sOWSubCategoryDetail.forEach {
finalJSON[$0.0] = $0.1
}
return finalJSON
}https://stackoverflow.com/questions/55887659
复制相似问题