文档章节

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工程师
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
MappingJackson2HttpMessageConverter注意事项

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

灯下草虫鸣_
07/11
0
0
Jackson时间格式及属性忽略

1、Date时间格式 当使用jackson在处理时间时,默认是将时间输出为timestamps格式,要想自定义格式可以参考以下代码: ObjectMapper objectMapper = new ObjectMapper(); objectMapper.getSe...

boonya
2013/05/17
0
5
Java序列化JSON时long型数值不准确

现象 项目中用到了唯一ID生成器.生成出的ID时long型的(比如说4616189619433466044). 通过某个rest接口中返回json数据后,发现浏览器解析完变成了4616189619433466000 原因 大致描述:java中得l...

landyking
2014/11/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

新工作与老项目

新的工作不知不觉的干了一个多月了。怎么说呢,跟想象中的差别不少,本来想的能进来跟大公司的同事能有很多交流,能在团队中跟大牛学习更快。结果公司的这个项目上只有两个程序员,项目是十年...

zypy333
12分钟前
0
0
mysql 在windows的安装

mysql 在windows的安装。 mysql64位的server的下载地址是: https://dev.mysql.com/downloads/mysql/ 使用的是5.7版本。 下载安装包,解压至D:\mysql\mysql-5.7.23-winx64\ 在D:\mysql\mysq...

lxzh504
24分钟前
1
0
云技术、大数据(hadoop)入门常见问题回答

当我们学习一门新技术的时候,我们总是产生各种各样的问题,这些问题整理出来,包括该 1.如何学习hadoop? 2.hadoop常见问题? 3.还有hbase、hive安装使用等? 你知道搭建hadoop平台需要些什...

董黎明
24分钟前
1
0
小程序自定义底部tab

场景 1.tabBar是在内页而非首页,这时就不得不自定义一个tabBar了 2.自定义风格 3.子页数量超过5个,得到更多了tab 4.改变点击tab默认事件,比如出登录界面,或者弹出上拉子菜单等 步骤 1.照...

萤火的萤火
30分钟前
1
0
shell炫技

1.为脚本添加“--help” #!/bin/shif [ ${#@} -ne 0 ] && [ "${@#"--help"}" = "" ]; then printf -- '...help...\n'; exit 0;fi; 2.输出字体添加颜色 https://misc.flogisoft.com......

HJCui
30分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部