Arrow是Swift中一个优雅的JSON解析库。
它允许在<--运算符的帮助下解析JSON并将其映射到自定义模型类:
identifier <-- json["id"] name <-- json["name"] stats <-- json["stats"]
示例
斯威夫特模型
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"
可可豆
pod 'Arrow' use_frameworks!
手动地
只需复制并粘贴Arrow.swift到您的Xcode项目中
https://github.com/s4cha/Arrow
作为框架
从GitHub存储库下载Arrow,并在示例项目上构建Framework目标。然后链接该框架。