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目标。然后链接该框架。