Comments (6)
能具体描述一下场景吗?文档里T只是一个指代,指代已经支持HandyJSON
的类型。
from handyjson.
我想封装一个base 里面包含(code,msg,data),data是任意类型的,我继承了handyJson,请问怎么处理这个data
from handyjson.
如果你是指需要支持泛型的话,你可以这么声明:
class Base<T: HandyJSON> {
var code: Int?
var msg: String?
var data: T?
}
这样的话,你在实例化Base
时,需要指明这个T
的具体类型,这个类型必须是实现了HandyJSON
协议的。
from handyjson.
如果data
字段需要到运行时才知道是什么类型,那只能够用specify
函数来自定义解析了。
参考:https://github.com/alibaba/HandyJSON/blob/master/README_cn.md#%E8%87%AA%E5%AE%9A%E4%B9%89%E8%A7%A3%E6%9E%90%E8%A7%84%E5%88%99
from handyjson.
class Base<T: HandyJSON> {
var code: Int?
var msg: String?
var data: T?
}
这个时候好像不能用JSONDeserializer.deserializeFrom()处理了data数据了
我是想用这个base去接受服务器传过来的数据,
再在对应的Model层次去处理这个data
from handyjson.
不好意思今天才看到这条信息。。我测试是没问题的。参考:
class BaseResponse<T: HandyJSON>: HandyJSON {
var code: Int?
var data: T?
required init() {}
}
class Sample: HandyJSON {
var id: Int?
required init() {}
}
let sample = Sample()
sample.id = 2
let resp = BaseResponse<Sample>()
resp.code = 200
resp.data = sample
let jsonString = resp.toJSONString()!
print(jsonString)
if let mappedObject = JSONDeserializer<BaseResponse<Sample>>.deserializeFrom(json: jsonString) {
print(mappedObject.data?.id)
}
from handyjson.
Related Issues (20)
- My suggestion: Use Codable instead it HOT 16
- SIGILL ILL_ILLTRP crash
- Referencing static method 'deserialize(from:designatedPath:)' on 'Array' requires that 'String' conform to 'HandyJSON'
- Cocoapods Error for 'Not found file'
- 生成的xcframework无法使用 HOT 2
- HandyJSON还能继续使用吗? HOT 4
- 在配合使用Realm的时候,无法转换Realm中List类型数据 HOT 2
- 现在支持 SPM 吗 HOT 1
- UIViewController.deserialize(from: [:]) crash
- 为啥toJSON方法转字典后,并不是自己创建的属性名 HOT 5
- 建议在README中显著标注「不建议使用」 HOT 2
- importing xcframework has problem with bazel
- 继承导致的crash HOT 1
- nil
- Not work with RealmSwift.xcframework HOT 1
- Unable to determine Swift version for the following pods
- 怎么和CoreData结合使用,直接把JSON数据转换为新的CoreData Entity,或更新原有的Entity? HOT 1
- @propertyWrapper
- Calling the toJSONString method with UIColor.clear will result in an error
- 可以自动下划线转驼峰么? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from handyjson.