我有以下两个Jsons
"attrs": {
"rect": {
"fill": "blue"
},
"text": {
"fill": "white",
"text": "my box"
}
}
和
"attrs": {
"circle": {
"fill": "red"
},
"text": {
"text": "my circle",
"fill": "yellow"
}
}
有没有办法在解析时将JSON反序列化到特定的类class Rect
和class Circle
?我正在使用Gson 2.4
这就是我现在所说的:
Element[] element = gson.fromJson(arguments.toJson(), Element[].class);
Element类具有这种结构
public class Element {
private Attributes attr;
public class Attributes{
private Rectangle rect;
private Circle circle;
}
我如何告诉gson选择其中一个字段?现在其中一个将是空的,我不想要,因为我会有更多的形状。
答案 0 :(得分:0)
如果"圈"或" rect"永远是第一个孩子,你可以编写简单的if else
逻辑来确定用于反序列化的类。