猛犬
猛犬是一个非常快的JSON解析器,它会不断进攻,直到获取到所需的值,或者您放弃。就像一只猛犬。
为什么要选择猛犬?
✅ 超级轻量级✅ 易于扩展✅ 可以轻松遍历JSON对象路径以获取最终值,同时忽略中间对象的类型✅ 利用苹果的JSONSerialization底层功能✅ 经过100%测试覆盖率测试
示例用法
假设我们想解析以下JSON对象
response.json
{
"id":123,
"first_name":"Conor",
"last_name":"McGregor",
"age":28,
"height": 171,
"weight":70.5,
"fights":[
{
"id":"UFC 205",
"opponent":"Eddie Alvarez",
"venue":"New York",
"win":true
},
{
"id":"UFC 202",
"opponent":"Nate Diaz",
"venue":"Las Vegas",
"win":true
},
{
"id":"UFC 196",
"opponent":"Nate Diaz",
"venue":"Las Vegas",
"win":false
}
]
}
parser.swift
现在来解析上述json文件,
let json: Any = ... // Json from network
let bulldog = Bulldog(json: json)
let name = bulldog.string("first_name") + " " + bulldog.string("last_name") // Conor McGregor
let height = bulldog.int("height") // 171
let weight = bulldog.double("weight") // 70.5
// Get first opponent of his fights
let firstOpponent = bulldog.string("fights", 0, "opponent") // Eddie Alvarez
// Get fights array
let fights = bulldog.array("fights") // Returns array of fights
// Return the first fight dictionary
let firstFight = bulldog.dictionary("fights", 0) // Returns first fight dictionary
// Check if first fight was a win
let isWin = Bulldog(json: fights[0]).boolean("win") // Returns true
安装
Carthage
Bulldog可以通过Carthage获取。要安装它,只需将以下行添加到您的Cartfile中
git "freesuraj/Bulldog"
Cocoapods
将以下行添加到您的Podfile中
pod 'Bulldog'
手动
可能最简单的方法是将文件Bulldog.swift复制到您的项目中。就这样!!!
例子
请查看BulldogTests.swift文件以获取所有可能的用法
关于
如果你觉得这个小工具有用,希望听到你的反馈。你还可以在Twitter上关注我:@iosCook
许可
Bulldog采用MIT许可。更多信息请参阅LICENSE文件。