有没有一种反序列化json的方法?
sealed class Layer
data class ShapeLayer(var type: LayerType) : Layer
data class TextLayer(var type: LayerType) : Layer
data class ImageLayer(var type: LayerType) : Layer
LayerType is just some enum which can be used to distinguish which type should this object have.
我想我可以这样添加Adapter:
class LayerAdapter{
@FromJson
fun fromJson(layerJson: LayerJson): Layer {
return when (layerJson.layerType) {
LayerType.SHAPE -> PreCompLayer()
LayerType.SOLID -> SolidLayer()
LayerType.Text -> TextLayer()
}
}
}
Where LayerJson would be object which has every possible field of all LayerTypes.
Now the problem is:
无法序列化抽象类com.example.model.layers.Layer
I could try to use interface, but I don't think it would be correct to use empty interface in this.