Oop Kotlin GSON自定义反序列化
我正在尝试反序列化一个JSON。我试图用以下约束来适应以下结构 1) 矩形和正方形都是Shape类型,可以有一个形状列表 2) 它们的顺序可以切换一个正方形可以有一个矩形列表(形状列表) 3) 正方形和矩形也可以有一个圆形列表,该列表不继承形状的任何内容,基本上由形状组成 4) 我想唯一地标识square和rectangle类,并在模型结构中反序列化之后将它们视为同一个Shape对象(想知道是否有方法不解析type属性,这样我就知道对象类型是square或rectangle) 到目前为止我创建的模型对象Oop Kotlin GSON自定义反序列化,oop,kotlin,gson,json-deserialization,Oop,Kotlin,Gson,Json Deserialization,我正在尝试反序列化一个JSON。我试图用以下约束来适应以下结构 1) 矩形和正方形都是Shape类型,可以有一个形状列表 2) 它们的顺序可以切换一个正方形可以有一个矩形列表(形状列表) 3) 正方形和矩形也可以有一个圆形列表,该列表不继承形状的任何内容,基本上由形状组成 4) 我想唯一地标识square和rectangle类,并在模型结构中反序列化之后将它们视为同一个Shape对象(想知道是否有方法不解析type属性,这样我就知道对象类型是square或rectangle) 到目前为止我创建的
abstract class Shape {
abstract val x: String
abstract val y: String
abstract val type: String
abstract val children: List<Shape>
}
data class Square(override val x: String, override val y: String, override val type: String,
override val children: List<Shape>) : Shape()
data class Rectangle(override val x: String, override val y: String, override val type:
String, override val children: List<Shape>) : Shape()
data class Circle(val radius: String, val type: String)
抽象类形状{
抽象val x:String
摘要:字符串
抽象值类型:String
抽象val子项:列表
}
数据类方形(覆盖值x:String、覆盖值y:String、覆盖值类型:String、,
覆盖val子项:列表):形状()
数据类矩形(覆盖值x:字符串、覆盖值y:字符串、覆盖值类型:
字符串,重写val子项:列表):Shape()
数据类圆(val半径:字符串,val类型:字符串)
可能是什么?可能是什么?
abstract class Shape {
abstract val x: String
abstract val y: String
abstract val type: String
abstract val children: List<Shape>
}
data class Square(override val x: String, override val y: String, override val type: String,
override val children: List<Shape>) : Shape()
data class Rectangle(override val x: String, override val y: String, override val type:
String, override val children: List<Shape>) : Shape()
data class Circle(val radius: String, val type: String)