Swift Package Index


A really fast JSON library


  • The latest stable release is 2.0.2. Released 3 years ago.
  • The latest beta release is 2.0.3-swift5. Released over 1 year ago.
  • The last commit to master/2.0 was over 1 year ago.

Swift Version Compatibility

  • 2.0.2
    5.3
    5.2
    5.1
    5.0
    4.2
  • 2.0.3-swift5 and master/2.0
    5.3
    5.2
    5.1
    5.0
    4.2
Full build results

Platform Compatibility

  • 2.0.2
    iOS
    macOS(Intel)
    macOS(ARM)
    Linux
    tvOS
    watchOS
  • 2.0.3-swift5 and master/2.0
    iOS
    macOS(Intel)
    macOS(ARM)
    Linux
    tvOS
    watchOS
Full build results

Cheetah

A simple, yet fast JSON library. Developed for the OpenKitten ecosystem, it is created to feel like it belongs to the ecosystem as well as the programming language.

Cheetah's aim is to be a performant parser/serializer and to provide a good API.

Usage

Import this dependency into your Package.swift

.Package(url: "https://github.com/OpenKitten/Cheetah.git", majorVersion: 1)

Deserialize from UTF-8 bytes representing a JSON String:

let array = JSONArray(from: bytes)
let object = JSONObject(from: bytes)

Deserialize from a Swift String JSON:

let array = JSONArray(from: bytes)
let object = JSONObject(from: bytes)

Access values in an array like you would in Swift Arrays and values in an object like a Dictionary.

let favouriteNumber = favouriteNumbers[0]
let usernameValue = userObject["username"]

Extract types with simplicity:

let username = String(userObject["username"]) // "Joannis"
let isOnline = Bool(userObject["online"]) // true
let age = Int(userObject["age"]) // 20
let pi = Double(userObject["pi_constant"]) // 3.14

Chain subscripts easily to find results without a hassle as shown underneath:

{
  "users": [
  	{
  		"username": "Joannis",
  		"profile": {
  		  "firstName": "Joannis",
  		  "lastName": "Orlandos"
  		}
  	},
  	{
  		"username": "Obbut",
  		"profile": {
  		  "firstName": "Robbert",
  		  "lastName": "Brandsma"
  		}
  	}
  ]
}
let obbutLastName = String(object["users"][1]["profile"]["lastName"]) // "Brandsma"

Tutorials/info

Tutorials and docs are available among the rest.