Ogra 4.1.2

Ogra 4.1.2

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最新发布2017年5月
SwiftSwift 版本3.0
SPM支持 SPM

Craig Edwards 维护。



Ogra 4.1.2

  • 作者
  • 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为基本类型提供了默认的编码行为,如StringIntBoolDoubleFloatArrayDictionaryOptional,因此通常您只需要在模型类中提供一个返回JSON.Object枚举情况的encode()函数。

安装

将以下内容添加到您的Cartfile中

github "edwardaux/Ogra"

然后运行carthage update

扩展Ogra

欢迎添加和扩展特性。我建议以下步骤

  • 创建项目的分支并将其克隆到您的本地机器上
  • 运行以下命令:carthage update --use-submodules
  • 进行您的更改
  • 添加测试用例并确保它们都能通过
  • 创建一个pull请求以合并您的更改

许可

Ogra归版权所有(c) 2015 Craig Edwards。它可以在MIT许可证下重新分配。