我呼叫了一個回傳 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) 和小時文本。我怎么能操縱這些資料?
uj5u.com熱心網友回復:
您可以按如下方式對 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;
}
}
然后對另一個類進行建模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;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/385810.html
