【发布时间】:2020-07-28 11:38:01
【问题描述】:
我尝试使用 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里面也有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;
}
【问题讨论】:
标签: java json jackson objectmapper fasterxml