如何在没有字段名称的情况下反序列化 JSON
how to deserealize JSON without field names
我调用了 returns 和 JSON 的 REST 服务,我正在尝试反序列化它(将其转换为实体),但问题是它没有字段名称比赛。
JSON 是这样的:
{
"text1": "",
"text2": null,
"days": [
{
"20211217": {
"07:00": {
"id": "1187067",
"cupo": 9
},
"08:00": {
"id": "1187068",
"cupo": 10
}
}
},
{
"20211219": {
"07:00": {
"id": "1187077",
"cupo": 10
},
"08:00": {
"id": "1187078",
"cupo": 10
}
}
}
]
}
如您所见,它有一些字段,例如 text1、text2、days、id 和 cupo,问题是如何映射日期文本 (20211217,20211219) 和小时文本。我该如何操作这些数据?
您可以按如下方式对 JSON 进行建模:
import java.util.List;
import java.util.Map;
public class YourClass {
private String text1;
private String text2;
private List<Map<String, Map<String, YourOtherClass>>> days;
public YourClass(String text1, String text2, List<Map<String, Map<String, YourOtherClass>>> days) {
this.text1 = text1;
this.text2 = text2;
this.days = days;
}
public String getText1() {
return text1;
}
public void setText1(String text1) {
this.text1 = text1;
}
public String getText2() {
return text2;
}
public void setText2(String text2) {
this.text2 = text2;
}
public List<Map<String, Map<String, YourOtherClass>>> getDays() {
return days;
}
public void setDays(List<Map<String, Map<String, YourOtherClass>>> days) {
this.days = days;
}
}
然后另一个class对id
和cupo
建模如下:
public class YourOtherClass {
private String id;
private int cupo;
public YourOtherClass(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getCupo() {
return cupo;
}
public void setCupo(int cupo) {
this.cupo = cupo;
}
}
我调用了 returns 和 JSON 的 REST 服务,我正在尝试反序列化它(将其转换为实体),但问题是它没有字段名称比赛。 JSON 是这样的:
{
"text1": "",
"text2": null,
"days": [
{
"20211217": {
"07:00": {
"id": "1187067",
"cupo": 9
},
"08:00": {
"id": "1187068",
"cupo": 10
}
}
},
{
"20211219": {
"07:00": {
"id": "1187077",
"cupo": 10
},
"08:00": {
"id": "1187078",
"cupo": 10
}
}
}
]
}
如您所见,它有一些字段,例如 text1、text2、days、id 和 cupo,问题是如何映射日期文本 (20211217,20211219) 和小时文本。我该如何操作这些数据?
您可以按如下方式对 JSON 进行建模:
import java.util.List;
import java.util.Map;
public class YourClass {
private String text1;
private String text2;
private List<Map<String, Map<String, YourOtherClass>>> days;
public YourClass(String text1, String text2, List<Map<String, Map<String, YourOtherClass>>> days) {
this.text1 = text1;
this.text2 = text2;
this.days = days;
}
public String getText1() {
return text1;
}
public void setText1(String text1) {
this.text1 = text1;
}
public String getText2() {
return text2;
}
public void setText2(String text2) {
this.text2 = text2;
}
public List<Map<String, Map<String, YourOtherClass>>> getDays() {
return days;
}
public void setDays(List<Map<String, Map<String, YourOtherClass>>> days) {
this.days = days;
}
}
然后另一个class对id
和cupo
建模如下:
public class YourOtherClass {
private String id;
private int cupo;
public YourOtherClass(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getCupo() {
return cupo;
}
public void setCupo(int cupo) {
this.cupo = cupo;
}
}