HandyJSON is a framework written in Swift which makes converting model objects( pure classes/structs ) to and from JSON easy on iOS. Compared with others, the most significant feature of HandyJSON is that it does not require the objects inherit from NSObject(not using KVC but reflection), nor implements a 'mapping' function(writing value to memory directly to achieve property assignment). HandyJSON is totally dependent on the memory layout rules inferred from Swift runtime code. We are watching it and will follow every bit if it changes. To support deserialization from JSON, a class/struct needs to conform to 'HandyJSON' protocol. It's truly protocol, not some class inherited from NSObject. For struct, since the compiler provides a default empty initializer, we use it for free. HandyJSON supports deserialization from the designated path of JSON.
Features
- Serialize/Deserialize Object/JSON to/From JSON/Object
- Naturally use object property name for mapping, no need to specify a mapping relationship
- Support almost all types in Swift, including enum
- Custom transformations
- Support struct
- Type-Adaption, such as string json field maps to int property, int json field maps to string property