箭头

Arrow 是 Swift 中优雅的 JSON 解析库。

它允许解析 JSON 并在 <-- 运算符的帮助下将其映射到自定义模型类:

identifier <-- json["id"]
name <-- json["name"]
stats <-- json["stats"]

例:

Swift 模型

struct Profile {
    var identifier = 0
    var name = ""
    var link: NSURL?
    var weekday: WeekDay = .Monday
    var stats = Stats()
    var phoneNumbers = [PhoneNumber]()
}

JSON 文件

{
    "id": 15678,
    "name": "John Doe",
    "link": "https://apple.com/steve",
    "weekdayInt" : 3,
    "stats": {
        "numberOfFriends": 163,
        "numberOfFans": 10987
    },
    "phoneNumbers": [{
                     "label": "house",
                     "number": "9809876545"
                     }, {
                     "label": "cell",
                     "number": "0908070656"
                     }, {
                     "label": "work",
                     "number": "0916570656"
    }]
}

制图

extension Profile: ArrowParsable {
    mutating func deserialize(json: JSON) {
        identifier <-- json["id"]
        link <-- json["link"]
        name <-- json["name"]
        weekday <-- json["weekdayInt"]
        stats <- json["stats"]
        phoneNumbers <-- json["phoneNumbers"]
    }
}

用法

let profile = Profile()
profile.deserialize(json)

安装:

迦太基

github "s4cha/Arrow"

的 CocoaPods

pod 'Arrow'
use_frameworks!

手动

只需在 Xcode 项目中复制并粘贴 Arrow.swift 即可

https://github.com/s4cha/Arrow

作为一个框架

GitHub 存储库下载 Arrow,并在示例项目上构建 Framework 目标。然后链接到这个框架。