mozhenhau / d3json Goto Github PK
View Code? Open in Web Editor NEW通过swift的反射特性,把json数据转换为model对象
License: MIT License
通过swift的反射特性,把json数据转换为model对象
License: MIT License
class A {
var a_id = ""
var b = B()
}
class B {
var b_id = ""
var c = C()
}
class C {
var c_id = ""
}
我请求回来的是A实体,其中A实体有B实体的实例,B实体有C实体的实例。
您好!我是之前给您发邮件的人,根据您的提示,为了解决Bean里面包含Array,我进行了修改
private class func addExtension(key:String,type:Any.Type,obj:AnyObject,dic:AnyObject){
switch type {
case _ as TreeBean.Type:
obj.setValue(jsonToModel(dic.objectForKey(key), objc: TreeBean()),forKey:key)
case _ as CauseBean.Type:
obj.setValue(jsonToModel(dic.objectForKey(key), objc: CauseBean()),forKey:key)
case _ as CheckBean.Type:
obj.setValue(jsonToModel(dic.objectForKey(key), objc: CheckBean()),forKey:key)
case _ as FaultTreatBean.Type:
obj.setValue(jsonToModel(dic.objectForKey(key), objc: FaultTreatBean()),forKey:key)
case _ as Array.Type:
obj.setValue(jsonToModelList(dic.objectForKey(key), objc: FaultTreatBean()), forKey: key)
case _ as SolutionBean.Type:
obj.setValue(jsonToModel(dic.objectForKey(key), objc: SolutionBean()),forKey:key)
default: //unknow
println("key:(key),unknow,sure that you hava init")
}
}
但是,obj.setValue(jsonToModelList(dic.objectForKey(key), objc: FaultTreatBean()), forKey: key)这句会报错,'cannot invoke 'jsonToModelList' with an argument list of type'(AnyObject?,objc:FaultTreatBean)'
我从后端返回的JSON数组格式是这样子的:
[
{
"updatedAt" : "2015-10-27T02:43:17.913Z",
"who" : "Andrew Liu",
"publishedAt" : "2015-10-27T02:43:16.908Z",
"objectId" : "562edda700b0c060dda97fc3",
"used" : true,
"type" : "iOS",
"createdAt" : "2015-10-27T02:12:55.507Z",
"desc" : "详解 Swift 模式匹配",
"url" : "http://swift.gg/2015/10/27/swift-pattern-matching-in-detail/"
},
{
"updatedAt" : "2015-10-27T02:43:17.944Z",
"who" : "Andrew Liu",
"publishedAt" : "2015-10-27T02:43:16.905Z",
"objectId" : "562dcb8260b28da5ca1138ce",
"used" : true,
"type" : "iOS",
"createdAt" : "2015-10-26T06:43:14.271Z",
"desc" : "iOS神器 — Surge",
"url" : "http://laob.me/1888/"
}
]
而你写的Demo的JSON数组格式是这样子的:
let jsonArr = [
[
"name": "ok",
"age":1,
"job": [
"name":"ios开发"
],
"skills":[
["name":"swift"],
["name":"objc"]
]
],
[
"name": "ok2",
"age":2,
"job": [
"name":"ios开发1"
],
"skills":[
["name":"swift1"],
["name":"objc1"]
]
]
]
你的JSON数组格式都是中括号的([]),但是真正的JSON数组是有花括号的哦({})
这个怎么解决?
现在 cocoapods repo 的版本还是1.0.2 麻烦更新下
谢谢
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.