测试已测试 | ✓ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布最新发布 | 2017年5月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✓ |
由 Craig Edwards 维护。
提供了将模型对象转换为Argo JSON表示的能力。使用由Argo提供的自定义结构,但它不是将JSON转换为模型,而是相反,这就是为什么叫“Ogra”(你看到我在这里做了什么了吗?)
当使用Argo从JSON解码时,业务对象需要符合Decodable
协议。为了使用Ogra将它们转换回JSON,业务对象需要符合Encodable
协议。以下是一个例子
extension User: Encodable {
func encode() -> JSON {
return JSON.Object([
"id" : self.id.encode(),
"name" : self.name.encode(),
"email" : self.email.encode(),
])
}
}
let user = ...
let jsonObject = user.encode().JSONObject()
// jsonObject is an `AnyObject` that you can pass to NSJSONSerialization. For example:
let data = NSJSONSerialization.dataWithJSONObject(jsonObject, options: NSJSONWritingOptions.PrettyPrinted)
Ogra为基本类型提供了默认的编码行为,如String
、Int
、Bool
、Double
、Float
、Array
、Dictionary
和Optional
,因此通常您只需要在模型类中提供一个返回JSON.Object
枚举情况的encode()
函数。
将以下内容添加到您的Cartfile中
github "edwardaux/Ogra"
然后运行carthage update
。
欢迎添加和扩展特性。我建议以下步骤
carthage update --use-submodules
Ogra归版权所有(c) 2015 Craig Edwards。它可以在MIT许可证下重新分配。