Auto reflection tool from JSON to Model, user friendly JSON encoder / decoder, aims to never die
Swift
Latest commit 6b8fb55 Jan 20, 2017 @johnlui bug fix
Permalink
Failed to load latest commit information.
Example kill so many logs when simulator running Sep 23, 2016
JSONNeverDie.xcodeproj bug fix Jan 20, 2017
JSONNeverDie
JSONNeverDieTests Swift 3 ready! Sep 22, 2016
Source bug fix Jan 20, 2017
assets change logo and add .gitignore Dec 17, 2016
.gitattributes add .gitattributes Sep 27, 2015
.gitignore change logo and add .gitignore Dec 17, 2016
.travis.yml modify README and .travis Sep 23, 2016
LICENSE update LICENSE Oct 3, 2015
README.md change logo url Dec 17, 2016

README.md

JSONNeverDie is an auto reflection tool from JSON to Model, a user friendly JSON encoder / decoder, aims to never die. Also JSONNeverDie is a very important part of Pitaya.

中文介绍

Example

set up a Model:

class People: JSONNDModel {
    var name = ""
}

reflex JSON to Model automatic:

let json = JSONND(string: "{\"name\": \"JohnLui\"}")
let people = People(JSONNDObject: json)
print(people.name)

Features

reflection features

  • JSON to Model reflection automatic
  • auto reflection with no need of init()
  • supports multi-level reflection

Read the documentation of auto reflection.

JSON encode / decode features

  • supports all types: Int, Double, Bool, String, Array
  • user friendly: Xcode can prompt all available types
  • provides both Optional-type(Int?) and Original-type(Int)

And JSONNeverDie is well tested.

Requirements

  • iOS 7.0+
  • Swift 3 (Version 2) in current swift3 branch
  • Swift 2.x / Xcode 7 (Version 1.x) in master branch

Contribution

You are welcome to fork and submit pull requests.

License

JSONNeverDie is open-sourced software licensed under the MIT license.

中文介绍

基本示例

构建一个 Model:

class People: JSONNDModel {
    var name = ""
}

从字符串转换成 JSON 再自动映射为 Model:

let json = JSONND(string: "{\"name\": \"JohnLui\"}")
let people = People(JSONNDObject: json)
print(people.name)

中文文档

参与开源

欢迎提交 issue 和 PR,大门永远向所有人敞开。

开源协议

本项目遵循 MIT 协议开源,具体请查看根目录下的 LICENSE 文件。