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](https://github.com/johnlui/Pitaya). ### [中文介绍](#中文介绍) ## Example set up a Model: ```swift class People: JSONNDModel { @objc var name = "" } ``` reflex JSON to Model automatic: ```swift let json = JSONND(string: "{\"name\": \"JohnLui\"}") let people = People(JSONNDObject: json) print(people.name) ``` ## Features ### reflection features - [x] JSON to Model reflection automatic - [x] auto reflection with no need of init() - [x] supports multi-level reflection #### [Read the documentation of auto reflection](https://github.com/johnlui/JSONNeverDie/wiki). ### JSON encode / decode features - [x] supports all types: Int, Double, Bool, String, Array - [x] user friendly: Xcode can prompt all available types - [x] provides both Optional-type(Int?) and Original-type(Int) And JSONNeverDie is well tested. ## Requirements * iOS 7.0+ * Swift 4 (Version 3) in current swift4 branch * Swift 3 (Version 2) in 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: ```swift class People: JSONNDModel { @objc var name = "" } ``` 从字符串转换成 JSON 再自动映射为 Model: ```swift let json = JSONND(string: "{\"name\": \"JohnLui\"}") let people = People(JSONNDObject: json) print(people.name) ``` ### [中文文档](https://github.com/johnlui/JSONNeverDie/wiki/%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3) ## 参与开源 欢迎提交 issue 和 PR,大门永远向所有人敞开。 ## 开源协议 本项目遵循 MIT 协议开源,具体请查看根目录下的 LICENSE 文件。