QSModelConvert 是一个轻量级 Swift 数据模型转换工具,基于系统 Codable / JSONEncoder / JSONDecoder 实现,适用于字典、JSON 字符串、Data 与模型之间的常见转换。
- iOS 15.0+
- watchOS 8.0+
- Swift 5+
使用 CocoaPods 安装:
pod 'QSModelConvert'然后执行:
pod install模型需要遵循 Codable 协议:
import QSModelConvert
struct User: Codable {
let name: String
let age: Int
}let json: [String: Any] = [
"name": "Tom",
"age": 18
]
let user = ModelConvert.jsonToModel(json, modelType: User.self)let jsonString = """
{
"name": "Tom",
"age": 18
}
"""
let user = ModelConvert.stringToModel(jsonString, modelType: User.self)let data = jsonString.data(using: .utf8)!
let user = ModelConvert.dataToModel(data, modelType: User.self)let user = User(name: "Tom", age: 18)
let dict = ModelConvert.modelToJSON(user)ModelConvert.jsonToModel(_:modelType:)
ModelConvert.stringToModel(_:modelType:)
ModelConvert.dataToModel(_:modelType:)
ModelConvert.modelToJSON(_:)转换失败时会返回 nil,Debug 环境下会打印错误信息。
QSModelConvert 基于 MIT License 开源,详情见 LICENSE。