如何实现json字符串映射器swift对象?
class User{
var name:String
var age:Int
}
将User对象转换为json字符串的简单方法?并将json字符串转换为User对象?
我曾经通过设置每个变量的键和值来制作一个SwiftyJSON JSON对象,但是对我制作的每个类都这样做很麻烦,并且在向其添加新变量时并不灵活,所以我找到了一种更好的Swift方式2.0。
在Swift 2.0中,他们引入了一个名为Mirror的类。通过使用此方法,您可以像这样遍历let和变量:
class User {
var name:String
var age:Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
var json: JSON {
get {
var dict = [String: AnyObject]()
let mirror = Mirror(reflecting: self)
for (_, attr) in mirror.children.enumerate() {
if let property_name = attr.label as String! {
dict[property_name] = attr.value as? AnyObject
}
}
return JSON(dict)
}
}
}
因此,如果要获取声明的变量和值的JSON版本:
let user1 = User(name: "Bob", age: 52)
print(user1.json)
这将使您:
{
"age" : 52,
"name" : "Bob"
}
要获取String,请查看以下答案:
user1.json.rawString()!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句