文档章节

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 输出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
一种快速简洁解析JSON数据接口的方法

Jackson提供了两种不同的JSON解析器: (1)ObjectMapper:把JSON解析到自定义的Java类中,或者解析到一个Jackson指定的树形结构中; (2)Jackson JsonParser:一种“拉式”解析器,每次解析一组...

Jacktanger
2017/11/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

python中cv2模块imread函数

导入 >> import cv2>> import numpy as np 读图片 >> image_arr = cv2.imread('file_path') 灰度图扩展成彩色图 可以通过图片的channel判断是否是灰度图。如果需要可以将灰度图扩展到RGB......

温子寒
7分钟前
0
0
利用剪切板JS API优化输入框的粘贴体验

直接复制记录下 /**@description 表单输入框粘贴体验优化,出处https://www.zhangxinxu.com/wordpress/?p=8003@author zhangxinxu*/// 遍历所有的输入框[].slice.call(document.qu...

红羊在厦门
14分钟前
0
0
2018CTF大赛学习

1.C伪随机数,可预测,可用来做加密解密,如 int main() { // This program will create same sequence of // random numbers on every program run for(int i = 0; ......

simpower
28分钟前
0
0
XamarinEssentials教程移除键值首选项的键值

XamarinEssentials教程移除键值首选项的键值 如果开发者不再使用首选项中的某一项时,可以将该项移除掉。此时可以使用Preferences类的Remove()方法,该方法可以将存在于首选项中的指定键以及...

大学霸
35分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部