Java 使用Google';将JSON字符串解析为继承的类层次结构;s格森图书馆

Java 使用Google';将JSON字符串解析为继承的类层次结构;s格森图书馆,java,json,inheritance,gson,Java,Json,Inheritance,Gson,我需要使用Google的GSON库将JSON字符串解析到下面的类层次结构中 class Expression { List<Component> components; } class Component { } class Operator extends Component { char operator; } class Operand extends Component { } class Constant extends Operand {

我需要使用Google的GSON库将JSON字符串解析到下面的类层次结构中

class Expression {
    List<Component> components;
}

class Component {
}

class Operator extends Component {
    char operator;
}

class Operand extends Component {
}

class Constant extends Operand {
    float value;
}

class Variable extends Operand {
    char name;
    float value;
}
类表达式{
列出组件;
}
类组件{
}
类运算符扩展组件{
字符算子;
}
类操作数扩展组件{
}
类常量扩展操作数{
浮动值;
}
类变量扩展操作数{
字符名;
浮动值;
}
是否可以以某种方式将“表达式”对象(定义如下)表示为JSON字符串。我无法理解如何在JSON字符串中指定“组件”(运算符、操作数、常量等)的类型

不能表示继承性是否是JSON表示的一般限制?
如果没有,请有人给我一个代表类层次结构下面的JSON字符串示例…

Gson将为您处理。当从Json转换回object时,只需传入一个类引用。剩下的就交给你了。你能提供一个JSON字符串的例子吗?我仍然不确定Gson库是否能够处理这个问题,例如{“components”:[{“operator”:'a'},{“name”:'x',value:3.5}]}如果能够,它将如何处理多个继承类具有相同字段集的情况(例如,如果“operator”和“operator”类只有一个名为“field1”的字段该怎么办,在这种情况下,Gson库将创建什么类型的对象?)