首先创建自己的模型类,然后倒入头文件
import ObjectMapper 实现 ObjectMapper 的协议 Mappable:
class Statuses: Mappable {
} 在模型类的下面实现协议方法:
required init?(_ map: Map) {
}
func mapping(map: Map) {
} JSON数据:
{ "statuses": [ { "created_at": " ", "id": 1, "text": " ", "source": " ", "user": { "id": , "name": " ", "description": " ", } }, ... ], ... } 创建数据模型 class Model: Mappable {
var created_at: String?
var id: Int = 0
var text: String?
var source: String?
var user: ??
required init?(_ map: Map) {
}
func mapping(map: Map) {
}
} 当还存在另一个数据模型时,同样再次创建一个模型 class Model2: Mappable {
var id: Int = 0
var name: String?
var description: String?
required init?(_ map: Map) {
}
func mapping(map: Map) {
}
} 模型赋值 在 Model 类中找到 func mapping(map: Map) 这个方法 func mapping(map: Map) {
created_at <- map["created_at"]
id <- map["id"]
text <- map["text"]
source <- map["source"]
user <- map["user"]
}
在 Model2 类中找到 func mapping(map: Map) 这个方法 func mapping(map: Map) { id <- map["id"] name <- map["name"] description <- map["description"] }
通过 <- 符号取值 public func <- <T>(inout left: T?, right: Map) { switch right.mappingType { case .FromJSON where right.isKeyPresent: FromJSON.optionalBasicType(&left, object: right.value()) case .ToJSON: ToJSON.optionalBasicType(left, map: right) default: () } } 转成模型 let modelArr = Mapper<Model>().mapArray(/把你的模型数据放进来/) modelArr 的类型是这样的 [Model]? 一个存放了 Model 类型的数组
转成 JSON let statusJson = status.toJSON()