地址:
https://github.com/haoburongyi/ZHCodable
一个继承 Codable 协议的封装的字典转模型库,使用了 swift 语言风格,例如
OC 转模型风格
let model = Student.deserialize(jsonString)
Swift 风格:
let model = Student.zh.deserialize(json)
只有两百行代码,感兴趣的可以去下载源码查看,更改 zh 为自定义值,如果对你有帮助请在 github 点上 star,不胜感激
ZHCodable使用方法
json 转模型
let model = Student.zh.deserialize(json)
printLog(model)
模型转 json
let modelJSON = model?.zh.toJSONString()
printLog(modelJSON)
json 转字典
let modelDict = modelJSON?.zh.toDict()
printLog(modelDict)
模型转字典
let modelDict1 = model?.zh.toDict()
printLog(modelDict1)
字典转模型
let model1 = Student.zh.deserialize(modelDict!)
printLog(model1)
json 转模型
let model2 = Student.zh.deserialize(modelJSON!)
printLog(model2)
字典转模型
let model3 = Student.zh.deserialize(modelDict1!)
printLog(model3)
Array
数组转 json
let arrayJSON = array.zh.toJSONString()
printLog(arrayJSON)
数组转元素是字典的数组 [[String : Any]]
let arrayDicts = array.zh.toDicts()
printLog(arrayDicts)
根据 json 转模型的数组
let array1 = [Student].zh.deserialize(arrayJSON!)
printLog(array1)
根据元素是 json 的 array 转模型数组
let array2 = [Student].zh.deserialize(jsonArray)
printLog(array2)
根据元素是 json 的 NSArray 转模型数组
let array3 = [Student].zh.deserialize(jsonDictArray)
printLog(array3)
根据元素是字典的 array 转模型数组
let array4 = [Student].zh.deserialize(dictArray)
printLog(array4)
根据元素是字典的 NSArray 转模型数组
let array5 = [Student].zh.deserialize(dictNSArray)
printLog(array5)
模型
struct School: ZHCodable {
var name: String? = ""
var address: String? = ""
}
struct Student: ZHCodable {
var name: String?
var age: Int? = 0
var weight: Float? = 0
var school: [School]? = []
}
自定义字段
image.png
网友评论