我正在创建一个json配置来创建一个包含多个小部件的仪表板。 我将读取该json文件并使用Gson从中创建pojo。 Java类的结构如下:
public class Widgets {
//Some other variables
private List<Widget> widgets = new ArrayList<>();
//some more variables and methods
}
public interface Widget{}
public class MeterWidget implements Widget{
//some meter widget variables
}
public class GraphWidget implements Widget{
//some graph widget variables
}
现在我想在json中使用同一类型的多个小部件声明小部件。如下所示:
{
"widgets": [
{
"meterWidget": {
},
"meterWidget": {
},
"graphWidget": {
}
}
]
}
我知道这个json不正确,因为我们不能在单个对象中有多个具有相同名称的项目(在本例中为meterWidget),但我无法想到任何可以帮助我的结构与上面的类结构。也没有必要在数组中使用小部件,因为我没有在此结构中维护任何顺序。请帮忙。
由于 拉曼
答案 0 :(得分:1)
您可以将类型设置为json中的参数,如下所示:
{
"widgets": [
{
"type": "meterWidget",
"someParam": "stuff"
},
{
"type": "meterWidget",
"someParam": "stuff"
}
]
}