箭頭

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 目標。然後連結到這個框架。