ObjectMapper在Swift中返回NIL

时间:2017-11-25 10:17:26

标签: json swift objectmapper

我尝试使用Object mapper https://github.com/Hearst-DD/ObjectMapper将JSON字符串转换为Swift对象。注意我在这里将对象简化为单个字段 - 显然我的真实响应有更多字段!

我的回答是:

data arrray response [{
chat =     {
    "_id" = 1;
}}]

所以我想转换为我的聊天课:

public class Chat: Mappable {
var _id: String? }
public required init?(map: Map){     
}
public func mapping(map: Map) {
    _id <- map["_id"]
}
}

所以我将数据数组转换为字典

let jsonResponse = dataArray [0]
let discResponse = jsonResponse as! Dictionary<String,AnyObject>

我甚至可以手动访问我的字段

let chat = discResponse["chat"]
let id = chat!["_id"]
print ("CHAT ID", id)

但映射到对象

let jsonData = try! JSONSerialization.data(withJSONObject: chat, options: .prettyPrinted)

let user = Chat(JSONString: String( describing: jsonData))

返回nil

为什么?

1 个答案:

答案 0 :(得分:2)

只需将我的评论作为答案,如果有人会遇到同样的问题:使用Mapper<Chat>().map(JSONObject: chat)。它应该有助于你的事业。