Swift ObjectMapper

本文介绍如何使用Swift语言通过Mapper框架解析复杂的JSON数据。包括创建符合Mappable协议的数据模型类,并展示了如何实现映射方法来填充这些模型。同时,文章提供了将JSON数据转换为模型对象及数组的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先创建自己的模型类,然后倒入头文件

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()

转载于:https://my.oschina.net/3191575746/blog/786070

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值