struct MyModel{let aString:Stringlet anInt:Intinit?(dictionary:[String:AnyObject]?){let parser=Parser(dictionary:dictionary)do{self.aString=tryparser.fetch("a_string")self.anInt=tryparser.fetch("an_int")}catchlet error{print(error)returnnil}}} 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 1...
将对象转换为JSON字符串 接下来,我们将创建一个函数来将User对象转换为JSON字符串。我们将使用JSONEncoder来实现这个功能。 JSON转换函数 funcconvertUserToJSON(user:User)->String?{letencoder=JSONEncoder()encoder.outputFormatting=.prettyPrinted// 格式化输出do{letjsonData=tryencoder.encode(user)letjsonString=St...
/// A generic protocol for creating objects which can be converted to JSON protocol JSONSerializable { private var dict: [String: Any] { get } } extension JSONSerializable { /// Converts a JSONSerializable conforming class to a JSON object. func json() rethrows -> Data { try JSONSerializ...
主要是通过Swift提供的反射(Mirror)功能,获取到对象及其父类的属性,转成Dictionary<String, AnyObject>类型,然后通过NSJSONSerialization提供的dataWithJSONObject: options:方法,把数据转成JSON字符串。代码实现如下: publicprotocolCGYJSON{functoJSONModel()->AnyObject?functoJSONString()->String?}extensionCGYJSON{pu...
protocolSwiftJsonMappable{funcgetDictionary() -> [String:Any]funcJSONString() ->String}extensionSwiftJsonMappable{//Convert the Swift dictionary to JSON StringfuncJSONString() ->String{do{letjsonData=tryJSONSerialization.data(withJSONObject:self.getDictionary(), options: .prettyPrinted)// here "jso...
如何使用ObjectFromJSON: let path:NSString = NSBundle.mainBundle().pathForResource("JSONString", ofType: nil)! // 加载JSONString文件中json字符串,转化为二进制数据 let data = NSData.dataWithContentsOfMappedFile(path as String) as! NSData // 将二进制数据转化为json字符串 // let jsonString =...
Mapping Object to JSON(对象转换成 JSON) Nested Object(支持内嵌对象功能,包括数据和字典),这个功能确实很赞👍 Support Struct(也对结构体做了支持) 一、基本操作 ObjectMapper 类库有一个 Mappable 协议,我们的 Model 实体类只有实现了这个 Protocol 能实现真正的映射解析功能。
print(object.toJSONString(prettyPrint: true)!) // serialize to pretty JSON string 有枚举或者有结构体 enumAnimalType:String,HandyJSONEnum{caseCat="cat"caseDog="dog"caseBird="bird"}structAnimal:HandyJSON{varname:String?vartype:AnimalType?
let jsonObject: [String: Any] = [ "userId": "1234", "nickname": "lilei", ] let model = Model.deserialize(from: object) 但是存在兼容和安全方面的问题,由于强依赖内存布局规则,Swift 大版本升级时可能会有稳定性问题。同时由于要在运行时通过反射解析数据结构,会对性能有一定影响 ...
let jsonData = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary var str="result:\n"+String(returnString!) for (key,value) in jsonData{ str+="\n key-->\(key)"+" value=\(value) " ...