【发布时间】:2022-01-09 04:12:44
【问题描述】:
JSON:
"sittingFurniture":[
{
"sittingObjectType": "chair",
"fabric": "textile"
},
{
"sittingObjectType":"bed",
"height": 70
},
...
]
Swift 代码:
protocol SittingObject {
var type: SittingObjectType
}
public enum SittingObjectType: Codable, Equatable {
case chair
case sofa
case bed
}
struct FancyChair: SittingObject, Codable, Equatable {
let fabric: String
let type: SittingObjectType = .chair
}
struct FancyBed: SittingObject, Codable, Equatable{
let height: Int
let type: SittingObjectType = .bed
}
struct FurnitureList: Codable, Equatable {
let sittingFurniture: [SittingObject] //ERROR
}
Protocol 'SittingObject' 只能用作通用约束,因为它具有 Self 或关联的类型要求
我们怎样才能最好地反序列化这样的 JSON?
【问题讨论】:
-
标题中有一个问题,文本中有另一个问题和一条错误消息。不容易理解你在问什么。
标签: json swift model deserialization json-deserialization