目录
目录README.md

JSONDecodeKit

Build Status codecov codebeat badge

A light weight JSON Mapper.

Inspired by some JSON libraries :

According to JSONShootout, we testing the json mapping speed, and we have same performance with Marshal.

Usage

struct Sample:JSONDecodable {
    let temp:Int
    static func decode(_ dic: JSON) throws -> Sample {
        return try Sample(temp: dic <| "temp")
    }
}

let json = JSON(any: ["temp":1234])
let sample:Sample? = try? Sample.decode(json)

Protocols

PrimitiveType

PrimitiveType focus on casting type and transform from string

  • Casting Type

    return self as? T
    // return 1 as? Int
    // return "1" as? Int
  • Transform From String (String -> T)

    return Int("1")     // "1" -> 1
    return Int("true")  // "true" -> true
  • Support Types

    Int     Int8    Int16   Int32   Int64
    UInt    UInt8   UInt16  UInt32  UInt64
    Float   Double
    Bool
    String

JSONDecodable

JSONDecodable is the protocol, mapping JSON to your customize struct.


Operators

Operator Decode element
<|? T?
<| T
<|| [T]
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

©Copyright 2023 CCF 开源发展委员会
Powered by Trustie& IntelliDE 京ICP备13000930号