我有一个
JSON响应,如:
{
total_count: 155,
size: 75,
authors: [{ name: "test1"
id: 1
},
{name: "test2"
id: 2
}]
}
我创建了我的对象模型并使用objectMapper来映射/解析这个json.
import Foundation
import SwiftyJSON
import ObjectMapper
class Author: Mappable {
var id: Int!
var name: String!
required init?(map: Map) {
}
func mapping(map: Map) {
self.id <- map["id"]
self.name <- map["name"]
}
static func fromJSONArray(_ json: JSON) -> [Author] {
var authorArray: [Author] = []
if json.count > 0 {
for item in json["authors"]{
print(item)
authorArray.append(Mapper<Author>().map(JSONObject: item)!)
}
}
return authorArray
}
使用print(item)我可以看到对象但是,我无法进行附加工作.它给出了“在展开可选值时意外发现nil”错误.
最佳答案 您的JSON无效.
例如,您可以使用JSONLint检查您的JSON有效性.
为了提高代码的安全性,请避免使用!
更换
authorArray.append(Mapper< Author>().map(JSONObject:item)!)
通过
if let author = (Mapper<Author>().map(JSONObject: item) {
authorArray.append(author)
} else {
print("Unable to create Object from \(item)")
}