AeroGearJsonSZ 0.3.0

AeroGearJsonSZ 0.3.0

测试已测试
Lang语言 SwiftSwift
许可证 Apache 2
发布最后发布2015 年 10 月
SPM支持 SPM

corinne krych 维护。



  • Red Hat, Inc.

aerogear-ios-jsonsz Build Status

此模块目前使用 Xcode 7 构建,并支持 iOS7 [1],iOS8,iOS9。

以 'easy way' 将 'Swift' 对象序列化和反序列化回它们的 JSON 表示形式。

项目信息
许可证 Apache 许可证,版本 2.0
构建 Cocoapods
文档 https://aerogear.org/docs/guides/aerogear-ios-2.X/
问题跟踪器 https://issues.jboss.org/browse/AGIOS
邮件列表 aerogear-users (订阅)
aerogear-dev (订阅)

注意 [1]:Cocoapod 中央存储库支持从 iOS8+ 开始的动态库。如果您想在 iOS7 上部署,请使用 master 源中的 areoger-ios-http,其 podspec 指向 iOS7。

示例用法

这是一个典型的示例用法

class Contact : JSONSerializable {
    var first: String?  
    var last: String?   
    var addr: Address?

    required init() {}

    class func map(source: JsonSZ, object: Contact) {
        object.first <= source["first"]
        object.last <= source["last"]
        object.addr <= source["addr"]
    }
}

class Address: JSONSerializable {

    var street: String?
    var poBox: Int?
    var city: String?
    var country: String?

    var arr:[String]

    required init() {}

    class func map(source: JsonSZ, object: Address) {
        object.street <= source["street"]
        object.poBox <= source["poBox"]
        object.city <= source["city"]
        object.country <= source["country"]
    }
}

// construct object
let address =  Address()
address.street = "Street"
address.poBox = 100
address.city="New York"
address.country = "US"

let user = User()
user.first = "John"
user.last = "Doe"
// assign Address to User
user.addr = address

// initialize serializer
let serializer = JsonSZ()

// serialize ToJSON
let JSON = serializer.toJSON(user)
// ..send json to server

// serialize fromJSON
let user = serializer.fromJSON(JSON, to:User.self)

// user now should be initialized
println(user.first!)
...

只要您的模型对象实现了 JSONSerializable 协议及其所需的 initmap 方法,`JsonSZ` 类应该能够将您的对象序列化和反序列化为 JSON。该库支持所有原始类型,包括数组、字典以及对象之间的关系(如上例中的 User,Address 显示的)。有关更多用法示例,请参阅我们的 单元测试

试一试,并让我们知道它是否帮助了您的项目!

最后,我们想要感谢和认可现有的序列化库 ObjectMapperSwiftMapper,为我们提供了一个初始的引导和基于我们开发该库的想法。谢谢你们!

将库添加到您的项目中

要将库添加到您的项目中,您可以使用 Cocoapods 或在项目中手动安装。下面分别提供说明。

手动安装

按照以下步骤将库添加到您的 Swift 项目中

  1. 将 AeroGearJsonSZ 作为 子模块 添加到您的项目中。打开终端并导航到您的项目目录。然后输入
git submodule add https://github.com/aerogear/aerogear-ios-jsonsz.git
  1. 打开 aerogear-ios-jsonsz 文件夹,并将 AeroGearJsonSZ.xcodeproj 拖入 Xcode 的文件导航器。
  2. 在 Xcode 中选择您的应用程序目标,并在“目标”标题部分下确保“iOS 部署目标”与 AeroGearJsonSZ.framework 的应用程序目标相匹配(目前设置为 8.0)。
  3. 选择“构建阶段”标题部分,展开“目标依赖项”组,并添加 AeroGearJsonSZ.framework
  4. 单击面板左上角的 + 按钮,并选择“新建拷贝文件阶段”。将此新阶段重命名为“拷贝框架”,将“目标位置”设置为“框架”,并添加 AeroGearJsonSZ.framework

文档

有关当前版本的更多详细信息,请参阅我们的文档

开发

如果您想帮助开发 Aerogear,可以加入我们的开发人员邮件列表,在 Freenode 上加入 #aerogear,或在 Twitter @aerogears 上向我们喊话。

还可以花时间浏览贡献指南

有问题?

加入我们的用户邮件列表,以便解答任何问题或获得帮助!我们很希望您喜欢使用 AeroGear 开发应用程序!

发现错误了吗?

如果您发现了一个错误,请在 Jira 上为我们创建一个工单,并包含一些重现步骤。