Snake协议Swift结构与类序列化工具
Swift 的序列化操作里头,Snake这个协议还挺实用的。它主要是用来把结构体或类跟 JSON 格式互相转换,写法比标准的Encodable
/Decodable
灵活不少。尤其是字段命名和类型转换方面,做得挺顺手,不容易踩坑。
像是你想对接个老旧的 API,JSON 字段一堆下划线格式,Swift 那边又全是驼峰命名,用CodingKeys
改吧,又麻烦。Snake直接帮你搞定命名规则,还能嵌套字段,写起来省心多了。
用起来也简单,加个pod 'Snake'
或者用Carthage
拉下来就行了。配合Alamofire
一起用,接口响应一到,直接丢给Snake
解析,省一大堆中间代码。
你如果做的是那种数据结构经常变、字段多的项目,或者在做后端交互时想减少模型之间的手动对接,Snake蛮适合的。响应也快,代码也清爽,维护成本低不少。
对了,如果你平时喜欢用自动生成模型代码的工具,比如什么model-boiler
、JSONSwift
那类的,Snake兼容性也不错,不用大改动就能接进去。
如果你用原生的Codable
写累了,不妨试试这个Snake
协议。能省事不少,也方便团队协作。
蛇(蛇):一种序列化Swift结构和类以进行编码和解码的协议
预估大小:110个文件
.gitignore
1KB
.codebeatignore
43B
Contents.json
369B
Contents.json
975B
Contents.json
381B
ArrayTest.json
260B
NestedArrayTest.json
332B
NetworkModelBad.json
73B
DecodableTest.json
381B
PrimitivesTest.json
936B
2.8MB
文件大小:
评论区