将JSON转换为Java POJO



我尝试使用Jackson FasterXML库、ObjectMapper、

要将JSON转换为下面的Java Pojo,

但找不到方法,例如下面这样的情况。

{
"uniqueID1": {
"var1": true,
"var2": 0.0,
"var3": "cash",
"vars": {
"0": {
"varsvar1": "cash",
"varsvar2": {
"0": {
"varsvarvar1": "cash"
},
"1": {
"varsvarvar1": "cheque"
}
}
},
"1": {
"varsvar1": "cash",
"varsvar2": {
"0": {
"varsvarvar1": "cash"
},
"1": {
"varsvarvar1": "cheque"
}
}
}
}
},
"uniqueID2": {
"var1": true,
"var2": 0.0,
"var3": "cash",
"vars": {
"0": {
"varsvar1": "cash",
"varsvar2": {
"0": {
"varsvarvar1": "cash"
},
"1": {
"varsvarvar1": "cheque"
}
}
},
"1": {
"varsvar1": "cash",
"varsvar2": {
"0": {
"varsvarvar1": "cash"
},
"1": {
"varsvarvar1": "cheque"
}
}
}
}
},
.... can be a lot with different unique id ... 
}

唯一ID 1和唯一ID 2是唯一的,

"0"1〃"0"1〃;也是唯一的ID,

并且可以有无限的唯一ID,

所以我们不能用它作为变量名。

Json在内线,Json也在内线,有3个深度。

我创建了6个Java Pojo类到,

以表示每个Json。

如何使用ObjectMapper将上面的Json转换为下面的6个类?

或者这是不可能的,我们应该使用其他图书馆?

public class Pojo1{
private String uniqueIDPojo1;
private Pojo2 pojo2;
}

public class Pojo2{
private boolean var1;
private double var2;
private String var3;
private Map<String,Pojo3> vars;
}

public class Pojo3{
private String uniqueIDPojo3;
private Pojo4 pojo4;
}

public class Pojo4{
private String varsvar1;
Map<String,Pojo5> varsvar2;
}

public class Pojo5{
private String uniqueIDPojo5;
private Pojo6 pojo6;
}

public class Pojo6{
private String varsvarvar1;
}

尝试使用

HashMap<String,Pojo2> pojos = new ObjectMapper().readValue(src, new TypeReference<HashMap<String,Pojo2>>() {});

在我看来它像

class VarMap {
Map<String, Var> varmap;
}
class Var {
boolean var1;
double var2;
String var3;
Map<String, VarVar> vars;
}
class VarVar {
String varsvar1;
Map<String, VarsVarVar> varsvar2;
}
class VarsVarVar {
String varsvarvar1;
}

您应该能够使用CCD_ 1对其进行解析。

相关内容

  • 没有找到相关文章

最新更新