HandyJson 是一个用于Swift语言中的JSON序列化/反序列化库
HandyJson的特点是,它支持纯swift类,使用简单。反序列化时(把JSON转化为Model)不要求Model从NSObject 继承(因为他不是基于KVC机制),也不要求为Model定义一个Mapping函数。只要你定义好Model类,声明他服从HandyJson协议,HandyJSON就能自行以各个属性名为key,从JSON串中解析值
反序列化
class BasicTypes: HandyJSON {
var int: Int = 2
var doubleOptional: Double?
var stringImplicitlyUnwrapped: String!
required init() {}
}
let jsonString = "{\"doubleOptional\":1.1,\"stringImplicitlyUnwrapped\":\"hello\",\"int\":1}"
if let object = BasicTypes.deserialize(from: jsonString) {
print(object.int)
print(object.doubleOptional!)
print(object.stringImplicitlyUnwrapped)
}
序列化
let object = BasicTypes()
object.int = 1
object.doubleOptional = 1.1
object.stringImplicitlyUnwrapped = “hello"
print(object.toJSON()!) // serialize to dictionary
print(object.toJSONString()!) // serialize to JSON string
print(object.toJSONString(prettyPrint: true)!) // serialize to pretty JSON string
序列化 就是将内存中的对象转换为字节序列,方便持久化到磁盘或者网络传输
反序列化 就是将字节序列转换为内存中的对象