Skip to content

fallpine/QSModelConvert

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

QSModelConvert

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)

JSON 字符串转模型

let jsonString = """
{
    "name": "Tom",
    "age": 18
}
"""

let user = ModelConvert.stringToModel(jsonString, modelType: User.self)

Data 转模型

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)

API

ModelConvert.jsonToModel(_:modelType:)
ModelConvert.stringToModel(_:modelType:)
ModelConvert.dataToModel(_:modelType:)
ModelConvert.modelToJSON(_:)

转换失败时会返回 nil,Debug 环境下会打印错误信息。

License

QSModelConvert 基于 MIT License 开源,详情见 LICENSE

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors