我正在尝试使用 genson 将 json 字符串反序列化为 java 对象,但未能成功。我的班级结构是这样的:
public class Condition {
}
public class SimpleCondition extends Condition {
String feature;
String op;
String value;
int primitive;
}
public class ComplexCondition extends Condition {
private Condition left;
private String joint;
private Condition right;
}
如您所见, andComplexCondition
可能有 anotherComplexCondition
或 aSimpleCondition
作为其成员。我得到的json是这样的:left
right
{
"left": {
"feature":"locality",
"op":"==",
"value":"Chino"
"primitive":9,
},
"joint":"and",
"right": {
"feature":"ch4",
"op":">=",
"value":"1.5",
"primitive":3
}
}
在这个 json 中,a既有ComplexCondition
s 又有left
s 。但是我收到的一般 json 字符串可以是从 a到 s 的任何嵌套级别的任何内容。我尝试在 json 字符串中设置值,但 genson 仍然无法反序列化它。我感谢使用任何库将此 json 反序列化为 java 的任何帮助。right
SimpleCondition
SimpleCondition
ComplexCondition
@class