-
Notifications
You must be signed in to change notification settings - Fork 648
Home
xuyecan edited this page Sep 11, 2017
·
8 revisions
HandyJSON
是一个用于Swift语言中的JSON序列化/反序列化库。
与其他流行的Swift JSON库相比,HandyJSON
的特点是,它支持纯swift类,使用简单。它反序列化时(把JSON转换为Model)不要求Model从NSObject继承(因为它不是基于KVC机制),也不要求你为Model定义一个Mapping函数。只要你定义好Model类,声明它服从HandyJSON
协议,HandyJSON就能自行以各个属性的属性名为Key,从JSON串中解析值。
HandyJSON目前依赖于Swift Runtime
源码中规定的内存规则,任何变动我们将随时跟进。
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
群号: 581331250