我有一个场景,在运行时根据JSON值我必须将它们转换为选择我们必须使用哪些JAVA类来初始化它们。 下面是两个JSON例子使用Jackson映射JSON到Java类
JSON例1:
{
"parentVal1" : "parent Val 1",
"parentVal2" : "parent val 2",
"childVal1" : "child Val 1",
"childVal2" : {
"childPropVal1" : "child prop 1",
"grandChild" : {
"maleGrandChildVal1" : "male grand child 1",
"maleGrandChildVal2" : "male grand child 2"
}
}
}
JSON例2:现在
{
"parentVal1" : "parent Val 1",
"parentVal2" : "parent val 2",
"childVal1" : "child Val 1",
"childVal2" : {
"childPropVal1" : "child prop 1",
"grandChild" : {
"femaleGrandChildVal1" : "female grand child 1",
"femaleGrandChildVal2" : "female grand child 2"
}
}
}
,对应的Java类,我提出和类图是
public class Parent{
private String parentVal1;
private String parentVal2;
//getters and setters
}
public class Child extends{
private String childVal1;
private ChildProperty childVal2;
//getters and setters
}
public class ChildProperty{
private String childPropVal1;
private GrandChildAbstract grandChild;
//getters and setters
}
public class GrandChildAbstract{
}
public class MaleGrandChild extends GrandChildAbstract{
private String maleGrandChildVal1;
private String maleGrandChildVal2;
//setters and getters
}
public class FemaleGrandChild extends GrandChildAbstract{
private String femaleGrandChildVal1;
private String femaleGrandChildVal2;
//setters and getters
}
的问题是在运行时,我会得到一个JSON和必须决定它是否属于MaleGrandChild or FemaleGrandChild
取决于ChildProperty.childPropVal1
,我从JSON获得。
任何人都可以帮助我有任何方式可以初始化ChildProperty.grandChild
财产与各自的FemaleGrandChild or MaleGrandChild
对象。
我使用Jackson从JSON转换为JAVA。
谢谢...我会尽力阅读有关它.. – utkarsh31
非常感谢你的帮助..它工作... – utkarsh31