文档章节

Swift ObjectMapper

葫芦大大哥
 葫芦大大哥
发布于 2016/11/11 10:53
字数 278
阅读 19
收藏 0

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

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

© 著作权归作者所有

共有 人打赏支持
葫芦大大哥
粉丝 3
博文 21
码字总数 2599
作品 0
南京
iOS工程师
私信 提问
Scala Web开发-Akka HTTP中使用JSON

Jackson Jackson 是Java生态圈里最流行的JSON序列化库,它的官方网站是:https://github.com/FasterXML/jackson。 为什么选择 Jackson 为什么选择 Jackson 而不是更Scala范的 play-json、 ci...

羊八井
10/09
0
0
jackson如何将null转成 空字符串

现在是这样写的 public ObjectMapper objectMapper() { ObjectMapper objectMapper = Jackson2ObjectMapperBuilder.json().build(); objectMapper.getSerializerProvider().setNullValueSeri......

银河缘木
2015/09/29
5.3K
3
MappingJackson2HttpMessageConverter注意事项

处理数据库中Date类型字段转换成时间戳问题 有两种方式可以解决日期转换Json问题: 1、(不推荐)局部修改,自定义注解进行将日期类型转换为Date类型。 2、(强烈推荐)全局修改,用Mapping...

灯下草虫鸣_
07/11
0
0
jackson 输出json到控制台

ObjectMapper objectMapper = new ObjectMapper(); System.out.println(objectMapper.writeValueAsString(myObj));...

jingshishengxu
2011/07/21
0
0
Jackson将json字符串转换成泛型List

Jackson,我感觉是在Java与Json之间相互转换的最快速的框架,当然Google的Gson也很不错,但是参照网上有人的性能测试,看起来还是Jackson比较快一点 Jackson处理一般的JavaBean和Json之间的转...

沉默的子明
2014/10/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何很绅士的使用线程池

前言 平时接触过多线程开发的童鞋应该都或多或少了解过线程池,之前发布的《阿里巴巴 Java 手册》里也有一条: 可见线程池的重要性。 简单来说使用线程池有以下几个目的: 线程是稀缺资源,不...

瑞查德-Jack
6分钟前
0
0
Java开发必会的Linux命令

1.查找文件find / -name filename.txt 根据名称查找/目录下的filename.txt文件。find . -name "*.xml" 递归查找所有的xml文件find . -name "*.xml" |xargs grep "hello world" 递归...

奥特曼之王
8分钟前
0
0
【 58沈剑 架构师之路】各种SQL到底加了什么锁?

有朋友留言:你TM讲了这么多,锁分了这么多类型,又和事务隔离级别相关,又和索引相关,究竟能不能直接告诉我,一个SQL到底加了什么锁!? 我竟无言以对。 好吧,做过简单梳理之后,今天尝试...

张锦飞
10分钟前
0
0
打包 压缩 命令tar zip

打包 压缩 命令tar zip tar语法 #压缩 tar -czvf ***.tar.gz tar -cjvf ***.tar.bz2 #解压缩 tar -xzvf ***.tar.gz tar -xjvf ***.tar.bz2  tar [主选项+辅选项] 文件或目录 主选项是必须要...

linjin200
15分钟前
0
0
使用form表单同时实现上传文件和提交文本数据

使用form表单同时实现上传文件和提交文本数据,此示例中在后台将文件上传到阿里的oss存储服务器中 申请oss相关账号: endpoint = "http://oss-cn-qingdao.aliyuncs.com"; accessKeyId = "key"...

貔貅叔
21分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部