Fargo 0.9

Fargo 0.9

测试已测试
语言语言 SwiftSwift
许可 MIT
发布最后发布Sep 2015
SPM支持 SPM

Ivan Vasic 维护。



Fargo 0.9

Fargo

Fargo 是一个 JSON 解析库,主要灵感来自于功能性的 JSON 解析库 Argo。最初是一个分支,但后来改变了很多概念,主要是在 Swift 2.0 之后,极大地简化了解析代码,并现在依赖于 do/catch 来处理错误。

安装

Git 子模块

将此仓库作为子模块添加,并将 Fargo 子文件夹中的所有文件添加到您的工作空间。

用法 tl;dr

struct ExampleModel {
    var id: Int
    var text: String?
    var date: NSDate?
    var url: NSURL?
    var tags: [String]
}

extension ExampleModel : Decodable {
    static func decode(json: JSON) throws -> ExampleModel {
        return ExampleModel(
            id:     try json.value("id"),
            text:   try json.value("text"),
            date:   try json.value("date", transform: dateFromString),
            url:    try json.value("url", transform: { NSURL(string: $0) }),
            tags:   try json.value("tags")
        )
    }
}

// From your JSON data

let dict: AnyObject? = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.allZeros, error: nil)

if let dict = dict {
    do {
        let model: ExampleModel = try JSON.convert(json).decode()
    } catch {
        XCTFail("Decoding ExampleModel failed with error: \(error)")
    }
}

有关如何使用 Fargo 的更多示例,请查看测试。