swift-Transformers JSON转Codable模型工具
JSON 的 swift-Transformers,真的挺省心。专门帮你把 JSON 转成Codable
协议的 Model,省掉不少手动解析的麻烦。是碰上结构稍微复杂点的 JSON,写一堆init(from decoder:)
真挺烦,用这个就清爽多了。你只要定义好Codable
的 Model,传进 JSON 数据,剩下的交给它搞定。
项目里要是用RxSwift
,这个库也配合得不错。比如网络求回来后直接扔进 Transformer,解析、绑定一步到位,流畅得。异步场景下也没问题,响应也快,代码也干净。
用法上也挺直白:比如有个User
模型,只要像这样写:
struct User: Codable {
let name: String
let age: Int
}
你就可以把 JSON 字符串转成 Model 了:
let jsonString = "{\"name\":\"John\", \"age\":30}"
if let jsonData = jsonString.data(using: .utf8) {
let transformer = Transformer()
if let user = transformer.transform(from: jsonData) {
// 用 user 做事
} else {
// 解析失败要
}
}
还有一点比较贴心的,它支持扩展转换逻辑。像有时候后端字段命名不标准,或者 JSON 嵌套得太深,也能通过自定义 Transformer 轻松应对。
压缩包里一般都会带源码和示例项目,想深入了解下原理或者根据项目需求做点定制,都不难。如果你平时经常跟Codable
和 JSON 打交道,这个工具用起来还蛮顺手的。
17.45KB
文件大小:
评论区