Snake协议Swift结构与类序列化工具

Swift 的序列化操作里头,Snake这个协议还挺实用的。它主要是用来把结构体或类跟 JSON 格式互相转换,写法比标准的Encodable/Decodable灵活不少。尤其是字段命名和类型转换方面,做得挺顺手,不容易踩坑。

像是你想对接个老旧的 API,JSON 字段一堆下划线格式,Swift 那边又全是驼峰命名,用CodingKeys改吧,又麻烦。Snake直接帮你搞定命名规则,还能嵌套字段,写起来省心多了。

用起来也简单,加个pod 'Snake'或者用Carthage拉下来就行了。配合Alamofire一起用,接口响应一到,直接丢给Snake解析,省一大堆中间代码。

你如果做的是那种数据结构经常变、字段多的项目,或者在做后端交互时想减少模型之间的手动对接,Snake蛮适合的。响应也快,代码也清爽,维护成本低不少。

对了,如果你平时喜欢用自动生成模型代码的工具,比如什么model-boilerJSONSwift那类的,Snake兼容性也不错,不用大改动就能接进去。

如果你用原生的Codable写累了,不妨试试这个Snake协议。能省事不少,也方便团队协作。

folder
蛇(蛇):一种序列化Swift结构和类以进行编码和解码的协议 预估大小:110个文件
file
.gitignore 1KB
file
.codebeatignore 43B
file
Contents.json 369B
file
Contents.json 975B
file
Contents.json 381B
file
ArrayTest.json 260B
file
NestedArrayTest.json 332B
file
NetworkModelBad.json 73B
file
DecodableTest.json 381B
file
PrimitivesTest.json 936B
file
PerformanceTest.json 9.63MB
file
EnumsTest.json 857B
file
SerializableEntityTest.json 325B
file
StringInitializableTest.json 236B
file
PerformanceSmallTest.json 666KB
file
HexInitializableTest.json 213B
file
CustomOperatorsTest.json 1KB
file
Serpent.h 497B
file
Cartfile 72B
file
.gitattributes 115B
zip 文件大小:2.8MB