泛型解析失败 swift 5.0版本
- Dominant language
- Swift
- Stars
- 4.3k
- Forks
- 677
- PR merge metrics
- No merged PRs in 30d
Description
```
// 假设这是服务端返回的统一定义的response格式
class BaseResponse: HandyJSON {
var code: Int? // 服务端返回码
var data: T? // 具体的data的格式和业务相关,故用泛型定义
public required init() {}
}
// 假设这是某一个业务具体的数据格式定义
struct SampleData: HandyJSON {
var id: Int?
}
let sample = SampleData(id: 2)
let resp = BaseResponse()
resp.code = 200
resp.data = sample
let jsonString = resp.toJSONString()! // 从对象实例转换到JSON字符串
print(jsonString) // ### **控制台打印print: {"code":200,"data":{"id":2}}**
if let mappedObject = JSONDeserializer>.deserializeFrom(json: jsonString) { // 从字符串转换为对象实例
print(mappedObject.toJSONString()) // 打印 Optional("{\"code\":200}")
}
```
===============
data 字段无法转换成model 有遇到过这样问题的吗 ?
JSONDeserializer>.deserializeFrom(json: jsonString)
这种方式无法成功转换
JSONDeserializer<#SomeModel#>.deserializeFrom(json: jsonString)
如果SomeModel为具体返回json对应的model 是可以解析的
是HandyJson不支持带泛型的class进行转换了么???
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at JSONDeserializer>.deserializeFrom(json:) and compare it with JSONDeserializer.deserializeFrom(json:), using the provided JSON string and model definitions. Done means the generic response preserves data as SampleData and serializes back with both code and data.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- api
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100