猛犬 1.0.2

猛犬 1.0.2

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2019年1月
SPM支持SPM

Suraj维护。



猛犬 1.0.2

Bulldog: Json Parser

Build Status Coverage Status codecov Code Climate codebeat badge Issue Count CocoaPods Compatible Carthage Compatible Platform Twitter GitHub forks GitHub stars

猛犬

猛犬是一个非常快的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文件以获取所有可能的用法

关于

GitHub followers

如果你觉得这个小工具有用,希望听到你的反馈。你还可以在Twitter上关注我:@iosCook

许可

Bulldog采用MIT许可。更多信息请参阅LICENSE文件。